תיאור
chrome.webAuthenticationProxy
API מאפשר לתוכנת שולחן עבודה מרוחק שפועלת במארח מרוחק ליירט בקשות של Web Authentication API (WebAuthn) כדי לטפל בהן בלקוח מקומי.
הרשאות
webAuthenticationProxy
זמינות
סוגים
CreateRequest
מאפיינים
-
requestDetailsJson
מחרוזת
הערך
PublicKeyCredentialCreationOptions
שמועבר אלnavigator.credentials.create()
, שעבר סריאליזציה כמחרוזת JSON. פורמט הסריאליזציה תואם ל-PublicKeyCredential.parseCreationOptionsFromJSON()
. -
requestId
number
מזהה אטום של הבקשה.
CreateResponseDetails
מאפיינים
-
error
DOMExceptionDetails אופציונלי
הערך
DOMException
שהוחזר מהבקשה מרחוק, אם יש כזה. -
requestId
number
ה
requestId
שלCreateRequest
. -
responseJson
מחרוזת אופציונלי
הערך
PublicKeyCredential
, שמתקבל מהבקשה מרחוק, אם יש כזה, עובר סריאליזציה כמחרוזת JSON על ידי קריאה ל-href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
.
DOMExceptionDetails
מאפיינים
-
הודעה
מחרוזת
-
שם
מחרוזת
GetRequest
מאפיינים
-
requestDetailsJson
מחרוזת
הערך
PublicKeyCredentialRequestOptions
שמועבר אלnavigator.credentials.get()
, שעבר סריאליזציה כמחרוזת JSON. פורמט הסריאליזציה תואם ל-PublicKeyCredential.parseRequestOptionsFromJSON()
. -
requestId
number
מזהה אטום של הבקשה.
GetResponseDetails
מאפיינים
-
error
DOMExceptionDetails אופציונלי
הערך
DOMException
שהוחזר מהבקשה מרחוק, אם יש כזה. -
requestId
number
ה
requestId
שלCreateRequest
. -
responseJson
מחרוזת אופציונלי
הערך
PublicKeyCredential
, שמתקבל מהבקשה מרחוק, אם יש כזה, עובר סריאליזציה כמחרוזת JSON על ידי קריאה ל-href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
.
IsUvpaaRequest
מאפיינים
-
requestId
number
מזהה אטום של הבקשה.
IsUvpaaResponseDetails
מאפיינים
-
isUvpaa
בוליאני
-
requestId
number
Methods
attach()
chrome.webAuthenticationProxy.attach(): Promise<string | undefined>
ההגדרה הזו הופכת את התוסף הזה לשרת ה-proxy הפעיל של בקשות API לאימות אינטרנט.
בדרך כלל, תוספים של שולחן עבודה מרוחק קוראים לשיטה הזו אחרי שהם מזהים שסשן מרוחק צורף למארח הזה. אחרי שהשיטה הזו מחזירה ללא שגיאה, העיבוד הרגיל של בקשות WebAuthn מושעה, ומופעלים אירועים מ-API התוסף הזה.
השיטה הזו נכשלת עם שגיאה אם כבר מצורף תוסף אחר.
התוסף המצורף צריך להפעיל את הפונקציה detach()
ברגע שהסשן של שולחן העבודה המרוחק מסתיים, כדי להמשיך את העיבוד הרגיל של בקשות WebAuthn. אם מבטלים את הטעינה של תוספים, הם מנותקים אוטומטית.
אפשר לעיין באירוע onRemoteSessionStateChange
כדי לקבל מידע על העברת אות לשינוי של צירוף סשן מרוחק מאפליקציה מקומית לתוסף (שיכול להיות מושעה).
החזרות
-
Promise<string | undefined>
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
): Promise<void>
התוצאה של שיחה עם navigator.credentials.create()
. התוסף צריך להפעיל את הפונקציה הזו לכל אירוע onCreateRequest
שהוא מקבל, אלא אם הבקשה בוטלה (במקרה כזה, מופעל אירוע onRequestCanceled
).
פרמטרים
-
פרטים
החזרות
-
Promise<void>
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
): Promise<void>
התוצאה של שיחה עם navigator.credentials.get()
. התוסף צריך להפעיל את הפונקציה הזו לכל אירוע onGetRequest
שהוא מקבל, אלא אם הבקשה בוטלה (במקרה כזה, מופעל אירוע onRequestCanceled
).
פרמטרים
-
פרטים
החזרות
-
Promise<void>
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
): Promise<void>
התוצאה של שיחה עם PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
. התוסף צריך להפעיל את הפונקציה הזו עבור כל אירוע onIsUvpaaRequest
שהוא מקבל.
פרמטרים
-
פרטים
החזרות
-
Promise<void>
detach()
chrome.webAuthenticationProxy.detach(): Promise<string | undefined>
ההגדרה הזו מסירה את התוסף הזה מלהיות שרת ה-proxy הפעיל לבקשות API של אימות אינטרנט.
השיטה הזו מופעלת בדרך כלל כשהתוסף מזהה שסשן של שולחן עבודה מרוחק הסתיים. אחרי שהשיטה הזו מחזירה ערך, התוסף מפסיק להיות ה-proxy הפעיל של בקשת Web Authentication API.
אפשר לעיין באירוע onRemoteSessionStateChange
כדי לקבל מידע על העברת אות לשינוי של צירוף סשן מרוחק מאפליקציה מקומית לתוסף (שיכול להיות מושעה).
החזרות
-
Promise<string | undefined>
אירועים
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
מופעל כשמתבצעת קריאה ל-WebAuthn navigator.credentials.create()
. התוסף צריך לספק תשובה על ידי התקשרות אל completeCreateRequest()
עם requestId
מ-requestInfo
.
פרמטרים
-
callback
פונקציה
הפרמטר
callback
נראה כך:(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
מופעלת כשמתבצעת קריאה ל-WebAuthn navigator.credentials.get(). התוסף צריך לספק תשובה על ידי התקשרות אל completeGetRequest()
עם requestId
מ-requestInfo
פרמטרים
-
callback
פונקציה
הפרמטר
callback
נראה כך:(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
chrome.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
מופעלת כשמתבצעת קריאה ל-PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
. התוסף צריך לספק תשובה על ידי התקשרות אל completeIsUvpaaRequest()
עם requestId
מ-requestInfo
פרמטרים
-
callback
פונקציה
הפרמטר
callback
נראה כך:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
אפליקציה מקומית שמשויכת לתוסף הזה יכולה לגרום להפעלת האירוע הזה על ידי כתיבה לקובץ עם שם ששווה למזהה של התוסף בספרייה בשם WebAuthenticationProxyRemoteSessionStateChange
בתוך ספריית ברירת המחדל של נתוני המשתמש
התוכן של הקובץ צריך להיות ריק. כלומר, לא צריך לשנות את התוכן של הקובץ כדי להפעיל את האירוע הזה.
אפליקציית המארח המקומית עשויה להשתמש במנגנון האירועים הזה כדי לאותת על שינוי אפשרי במצב של סשן מרוחק (כלומר, מניתוק לחיבור או להיפך), בזמן שסביר להניח ש-service worker של התוסף מושהה. ב-handler של האירוע הזה, התוסף יכול לקרוא לשיטות ה-API attach()
או detach()
בהתאם.
צריך לרשום את מאזין האירועים באופן סינכרוני בזמן הטעינה.
פרמטרים
-
callback
פונקציה
הפרמטר
callback
נראה כך:() => void
onRequestCanceled
chrome.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
האירוע מופעל כשאירוע onCreateRequest
או onGetRequest
מבוטל (כי המשתמש ביטל את בקשת WebAuthn או כי חלף הזמן שהוקצב לה). כשמתקבל האירוע הזה, התוסף צריך לבטל את העיבוד של הבקשה המתאימה בצד הלקוח. התוספים לא יכולים להשלים בקשה אחרי שהיא בוטלה.
פרמטרים
-
callback
פונקציה
הפרמטר
callback
נראה כך:(requestId: number) => void
-
requestId
number
-