תיאור
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()
browser.webAuthenticationProxy.attach(): Promise<string | undefined>
התוסף הזה הופך לשרת ה-proxy הפעיל של בקשות API לאימות באינטרנט.
בדרך כלל, תוספים של שולחן עבודה מרוחק מפעילים את השיטה הזו אחרי שהם מזהים צירוף של סשן מרוחק למארח הזה. אחרי שהשיטה הזו מחזירה ערך ללא שגיאה, העיבוד הרגיל של בקשות WebAuthn מושעה, ומועלים אירועים מה-API של התוסף הזה.
השיטה הזו נכשלת עם שגיאה אם כבר מצורף תוסף אחר.
התוסף המצורף חייב לקרוא ל-detach() אחרי שהסשן של שולחן העבודה המרוחק הסתיים, כדי להמשיך בעיבוד הרגיל של בקשות WebAuthn. התוספים מתנתקים באופן אוטומטי אם הם לא נטענים.
אפשר לעיין באירוע onRemoteSessionStateChange כדי לאותת על שינוי בצירוף של סשן מרוחק מאפליקציית נייטיב לתוסף (שייתכן שהושעה).
החזרות
-
Promise<string | undefined>
completeCreateRequest()
browser.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
): Promise<void>
דיווח על התוצאה של קריאה ל-navigator.credentials.create(). התוסף צריך לקרוא לזה לכל אירוע onCreateRequest שהוא קיבל, אלא אם הבקשה בוטלה (במקרה כזה, מופעל אירוע onRequestCanceled).
פרמטרים
-
פרטים
החזרות
-
Promise<void>
completeGetRequest()
browser.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
): Promise<void>
דיווח על התוצאה של קריאה ל-navigator.credentials.get(). התוסף צריך לקרוא לזה לכל אירוע onGetRequest שהוא קיבל, אלא אם הבקשה בוטלה (במקרה כזה, מופעל אירוע onRequestCanceled).
פרמטרים
-
פרטים
החזרות
-
Promise<void>
completeIsUvpaaRequest()
browser.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
): Promise<void>
דיווח על התוצאה של קריאה ל-PublicKeyCredential.isUserVerifyingPlatformAuthenticator(). התוסף חייב להפעיל את הפונקציה הזו לכל אירוע onIsUvpaaRequest שהוא קיבל.
פרמטרים
-
פרטים
החזרות
-
Promise<void>
detach()
browser.webAuthenticationProxy.detach(): Promise<string | undefined>
הסרת התוסף הזה מלהיות שרת ה-Proxy הפעיל של בקשות API לאימות באינטרנט.
בדרך כלל, השיטה הזו מופעלת כשהתוסף מזהה שסשן של שולחן עבודה מרוחק הסתיים. אחרי שהשיטה הזו מחזירה ערך, התוסף מפסיק להיות שרת ה-proxy הפעיל של בקשות Web Authentication API.
אפשר לעיין באירוע onRemoteSessionStateChange כדי לאותת על שינוי בצירוף של סשן מרוחק מאפליקציית נייטיב לתוסף (שייתכן שהושעה).
החזרות
-
Promise<string | undefined>
אירועים
onCreateRequest
browser.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
מופעל כשמתבצעת קריאת WebAuthn navigator.credentials.create(). התוסף צריך לספק תשובה על ידי קריאה ל-completeCreateRequest() עם ה-requestId מ-requestInfo.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
browser.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
מופעל כשמתבצעת קריאה ל-navigator.credentials.get() של WebAuthn. התוסף צריך לספק תשובה על ידי קריאה ל-completeGetRequest() עם ה-requestId מ-requestInfo
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
browser.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
מופעל כשמתבצעת שיחת PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable(). התוסף צריך לספק תשובה על ידי קריאה ל-completeIsUvpaaRequest() עם ה-requestId מ-requestInfo
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
browser.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
אפליקציית נייטיב שמשויכת לתוסף הזה יכולה לגרום להפעלת האירוע הזה על ידי כתיבה לקובץ עם שם שזהה למזהה של התוסף בספרייה בשם WebAuthenticationProxyRemoteSessionStateChange בתוך ספריית נתוני המשתמש של ברירת המחדל
הקובץ צריך להיות ריק. כלומר, לא צריך לשנות את תוכן הקובץ כדי להפעיל את האירוע הזה.
אפליקציית המארח המקומית יכולה להשתמש במנגנון האירועים הזה כדי לאותת על שינוי אפשרי במצב של סשן מרוחק (כלומר, מנותק או מחובר) בזמן ש-Service Worker של התוסף מושעה. ב-handler של האירוע הזה, התוסף יכול לקרוא לשיטות ה-API של attach() או detach() בהתאם.
צריך לרשום את רכיב ה-event listener באופן סינכרוני בזמן הטעינה.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:() => void
onRequestCanceled
browser.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
מופעל כשאירוע onCreateRequest או onGetRequest מבוטל (כי בקשת WebAuthn בוטלה על ידי המתקשר, או כי הזמן הקצוב לתפוגה חלף). כשהתוסף מקבל את האירוע הזה, הוא צריך לבטל את העיבוד של הבקשה התואמת בצד הלקוח. תוספים לא יכולים להשלים בקשה אחרי שהיא בוטלה.
פרמטרים
-
callback
פונקציה
הפרמטר
callbackנראה כך:(requestId: number) => void
-
requestId
number
-