chrome.webAuthenticationProxy

الوصف

تتيح واجهة برمجة التطبيقات chrome.webAuthenticationProxy لبرامج الاتصال عن بُعد بين أجهزة الكمبيوتر التي تعمل على جهاز مضيف بعيد اعتراض طلبات Web Authentication API (WebAuthn) من أجل معالجتها على جهاز عميل محلي.

الأذونات

webAuthenticationProxy

مدى التوفّر

‫Chrome 115 أو إصدار أحدث الإصدار 3 أو إصدار أحدث من Manifest

الأنواع

CreateRequest

الخصائص

  • requestDetailsJson

    سلسلة

    يتم تحويل قيمة PublicKeyCredentialCreationOptions التي تم تمريرها إلى navigator.credentials.create() إلى سلسلة JSON. يتوافق تنسيق التسلسل مع PublicKeyCredential.parseCreationOptionsFromJSON().

  • requestId

    الرقم

    معرّف مبهم للطلب.

CreateResponseDetails

الخصائص

  • خطأ

    DOMExceptionDetails اختياري

    تمثّل هذه السمة DOMException التي تم الحصول عليها من الطلب عن بُعد، إن وُجدت.

  • requestId

    الرقم

    تمثّل هذه السمة 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

    الرقم

    معرّف مبهم للطلب.

GetResponseDetails

الخصائص

  • خطأ

    DOMExceptionDetails اختياري

    تمثّل هذه السمة DOMException التي تم الحصول عليها من الطلب عن بُعد، إن وُجدت.

  • requestId

    الرقم

    تمثّل هذه السمة requestId الخاصة بـ CreateRequest.

  • responseJson

    سلسلة اختيارية

    تمثّل PublicKeyCredential، التي يتم عرضها من خلال الطلب البعيد، إذا كان ذلك ممكنًا، تسلسل البيانات على شكل سلسلة JSON من خلال استدعاء href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON().

IsUvpaaRequest

الخصائص

  • requestId

    الرقم

    معرّف مبهم للطلب.

IsUvpaaResponseDetails

الخصائص

  • isUvpaa

    قيمة منطقية

  • requestId

    الرقم

الطُرق

attach()

chrome.webAuthenticationProxy.attach(): Promise<string | undefined>

يُستخدَم لجعل هذه الإضافة هي الخادم الوكيل النشط لطلبات Web Authentication API.

عادةً ما تستدعي إضافات سطح المكتب البعيد هذه الطريقة بعد رصد ربط جلسة بعيدة بهذا المضيف. بعد أن تعرض هذه الطريقة بدون خطأ، يتم تعليق المعالجة العادية لطلبات WebAuthn، ويتم إنشاء أحداث من واجهة برمجة التطبيقات هذه.

يتعذّر تنفيذ هذه الطريقة ويظهر خطأ إذا كان هناك ملحق مختلف مرفقًا.

يجب أن تتصل الإضافة المرفقة بالدالة 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>

يزيل هذه الإضافة من أن تكون خادم وكيل نشطًا لطلبات Web Authentication API.

يتم عادةً استدعاء هذه الطريقة عندما ترصد الإضافة أنّه تم إنهاء جلسة سطح المكتب البعيد. بعد أن تعرض هذه الطريقة النتيجة، تتوقف الإضافة عن العمل كوكيل نشط لطلب 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

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

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (requestInfo: IsUvpaaRequest) => void

onRemoteSessionStateChange

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

يمكن أن يتسبّب تطبيق أصلي مرتبط بهذا الامتداد في إطلاق هذا الحدث من خلال الكتابة إلى ملف يحمل اسمًا يساوي رقم تعريف الامتداد في دليل باسم WebAuthenticationProxyRemoteSessionStateChange داخل دليل بيانات المستخدم التلقائي.

يجب أن يكون محتوى الملف فارغًا. أي أنّه ليس من الضروري تغيير محتوى الملف لتفعيل هذا الحدث.

قد يستخدم تطبيق المضيف الأصلي آلية الأحداث هذه للإشارة إلى تغيير محتمل في حالة الجلسة البعيدة (أي من منفصلة إلى مرتبطة، أو العكس) بينما قد يتم تعليق عامل خدمة الإضافة. في معالج هذا الحدث، يمكن للإضافة استدعاء طريقتَي واجهة برمجة التطبيقات attach() أو detach() وفقًا لذلك.

يجب تسجيل معالج الأحداث بشكل متزامن في وقت التحميل.

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    () => void

onRequestCanceled

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

يتم تشغيل هذا الحدث عند إلغاء حدث onCreateRequest أو onGetRequest (لأنّ المتصل أوقف طلب WebAuthn أو لأنّ المهلة انتهت). عند تلقّي هذا الحدث، يجب أن تلغي الإضافة معالجة الطلب ذي الصلة من جهة العميل. لا يمكن للإضافات إكمال طلب بعد إلغائه.

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (requestId: number) => void

    • requestId

      الرقم