chrome.webAuthenticationProxy

תיאור

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

הרשאות

webAuthenticationProxy

זמינות

Chrome 115 ואילך 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()

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.

פרמטרים

onGetRequest

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

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

פרמטרים

  • callback

    פונקציה

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

    (requestInfo: GetRequest) => void

onIsUvpaaRequest

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

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