browser.webAuthenticationProxy

תיאור

‫chrome.webAuthenticationProxy API מאפשר לתוכנת שולחן עבודה מרוחק שפועלת במארח מרוחק ליירט בקשות של Web Authentication API ‏ (WebAuthn) כדי לטפל בהן בלקוח מקומי.

הרשאות

webAuthenticationProxy

זמינות

‫Chrome 115 ואילך browser.* ‎ מגרסה Chrome 148 MV3 ואילך

סוגים

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.

פרמטרים

onGetRequest

browser.webAuthenticationProxy.onGetRequest.addListener(
  callback: function,
)

מופעל כשמתבצעת קריאה ל-navigator.credentials.get()‎ של WebAuthn. התוסף צריך לספק תשובה על ידי קריאה ל-completeGetRequest() עם ה-requestId מ-requestInfo

פרמטרים

  • callback

    פונקציה

    הפרמטר callback נראה כך:

    (requestInfo: GetRequest) => void

onIsUvpaaRequest

browser.webAuthenticationProxy.onIsUvpaaRequest.addListener(
  callback: function,
)

מופעל כשמתבצעת שיחת PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable(). התוסף צריך לספק תשובה על ידי קריאה ל-completeIsUvpaaRequest() עם ה-requestId מ-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