شرح
chrome.webAuthenticationProxy API به نرمافزار میزکار از دور که روی میزبان از دور اجرا میشود اجازه میدهد درخواستهای Web Authentication API (WebAuthn) را رهگیری کند تا بتواند آنها را در کارخواه محلی مدیریت کند.
اجازهها
webAuthenticationProxyدردسترس بودن
انواع
CreateRequest
مشخصات
-
requestDetailsJson
رشته
PublicKeyCredentialCreationOptionsبهnavigator.credentials.create()منتقل شد، بهصورت رشته JSON سریالسازی شد. قالب سریالسازی باPublicKeyCredential.parseCreationOptionsFromJSON()سازگار است. -
requestId
شماره
شناسه مبهم برای درخواست.
CreateResponseDetails
مشخصات
-
خطا
DOMExceptionDetails اختیاری
DOMExceptionحاصل از درخواست از راه دور، درصورت وجود. -
requestId
شماره
requestIdازCreateRequest. -
responseJson
رشته اختیاری
PublicKeyCredential، که درصورت وجود، توسط درخواست ازراهدور ارائه شده است، با فراخوانی href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()بهصورت رشته JSON سریالسازی شده است.
DOMExceptionDetails
مشخصات
-
پیام
رشته
-
نام
رشته
GetRequest
مشخصات
-
requestDetailsJson
رشته
PublicKeyCredentialRequestOptionsبهnavigator.credentials.get()منتقل شد، بهصورت رشته JSON سریالسازی شد. قالب سریالسازی باPublicKeyCredential.parseRequestOptionsFromJSON()سازگار است. -
requestId
شماره
شناسه مبهم برای درخواست.
GetResponseDetails
مشخصات
-
خطا
DOMExceptionDetails اختیاری
DOMExceptionحاصل از درخواست از راه دور، درصورت وجود. -
requestId
شماره
requestIdازCreateRequest. -
responseJson
رشته اختیاری
PublicKeyCredential، که درصورت وجود، توسط درخواست ازراهدور ارائه شده است، با فراخوانی href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()بهصورت رشته JSON سریالسازی شده است.
IsUvpaaRequest
مشخصات
-
requestId
شماره
شناسه مبهم برای درخواست.
IsUvpaaResponseDetails
مشخصات
-
isUvpaa
بولی
-
requestId
شماره
روشها
attach()
browser.webAuthenticationProxy.attach(): Promise<string | undefined>
این افزونه را به پراکسی درخواست میانای برنامهسازی کاربردی «اصالتسنجی وب» فعال تبدیل میکند.
افزونههای میزکار ازراهدور معمولاً این روش را پساز شناسایی پیوست جلسه ازراهدور به این میزبان فراخوانی میکنند. وقتی این روش بدون خطا برگردد، پردازش عادی درخواستهای 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>
این افزونه را از پروکسی درخواست Web Authentication API فعال برمیدارد.
این روش معمولاً زمانی فراخوانی میشود که افزونه تشخیص دهد جلسه میزکار ازراهدور پایان یافته است. وقتی این روش برگردد، افزونه دیگر بهعنوان پراکسی درخواست Web Authentication API فعال نخواهد بود.
برای نشان دادن تغییر پیوست جلسه از دور از برنامه بومی به افزونه (احتمالاً تعلیقشده)، به رویداد onRemoteSessionStateChange مراجعه کنید.
بازگشتیها
-
Promise<string | undefined>
رویدادها
onCreateRequest
browser.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
وقتی تماس WebAuthn navigator.credentials.create() برقرار میشود، فعال میشود. افزونه باید با فراخوانی completeCreateRequest() با requestId از requestInfo پاسخی ارائه دهد.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
browser.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
وقتی فراخوانی WebAuthn navigator.credentials.get() رخ میدهد، فعال میشود. افزونه باید با فراخوانی completeGetRequest() با requestId از requestInfo پاسخی ارائه دهد
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
browser.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
وقتی تماس PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable() برقرار میشود، فعال میشود. افزونه باید با فراخوانی completeIsUvpaaRequest() با requestId از requestInfo پاسخی ارائه دهد
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
browser.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
برنامه بومی مرتبط با این افزونه میتواند با نوشتن در فایلی با نامی برابر با شناسه افزونه در دایرکتوریای با نام WebAuthenticationProxyRemoteSessionStateChange در دایرکتوری دادههای کاربر پیشفرض باعث راهاندازی این رویداد شود
محتوای فایل باید خالی باشد. یعنی برای راهاندازی این رویداد، لازم نیست محتوای فایل تغییر کند.
برنامه میزبان بومی ممکن است از این سازوکار رویداد برای نشان دادن تغییر احتمالی وضعیت جلسه ازراهدور (یعنی از جداشده به متصلشده یا برعکس) استفاده کند، درحالیکه کارگر سرویس افزونه احتمالاً معلق است. در گرداننده این رویداد، افزونه میتواند روشهای میانای برنامهسازی کاربردی attach() یا detach() را بهطور مقتضی فراخوانی کند.
شنونده رویداد باید بهطور همزمان در زمان بارگیری ثبت شود.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:() => void
onRequestCanceled
browser.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
وقتی رویداد onCreateRequest یا onGetRequest لغو شود (بهدلیل اینکه درخواست WebAuthn توسط تماسگیرنده لغو شده است یا بهدلیل اینکه مهلت آن بهپایان رسیده است) فعال میشود. وقتی این رویداد دریافت میشود، افزونه باید پردازش درخواست مربوطه را در سمت کارخواه لغو کند. افزونهها نمیتوانند درخواستی را که لغو شده است تکمیل کنند.
پارامترها
-
تماس برگشتی
عملکرد
پارامتر
callbackبهصورت زیر است:(requestId: number) => void
-
requestId
شماره
-