Deskripsi
chrome.webAuthenticationProxy
API memungkinkan software desktop jarak jauh yang berjalan di host jarak jauh mencegat permintaan Web Authentication API (WebAuthn) untuk menanganinya di klien lokal.
Izin
webAuthenticationProxy
Ketersediaan
Jenis
CreateRequest
Properti
-
requestDetailsJson
string
PublicKeyCredentialCreationOptions
yang diteruskan kenavigator.credentials.create()
, diserialisasi sebagai string JSON. Format serialisasi kompatibel denganPublicKeyCredential.parseCreationOptionsFromJSON()
. -
requestId
angka
ID buram untuk permintaan.
CreateResponseDetails
Properti
-
error
DOMExceptionDetails opsional
DOMException
yang dihasilkan oleh permintaan jarak jauh, jika ada. -
requestId
angka
requestId
CreateRequest
. -
responseJson
string opsional
PublicKeyCredential
, yang dihasilkan oleh permintaan jarak jauh, jika ada, diserialkan sebagai string JSON dengan memanggil href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
.
DOMExceptionDetails
Properti
-
pesan
string
-
name
string
GetRequest
Properti
-
requestDetailsJson
string
PublicKeyCredentialRequestOptions
yang diteruskan kenavigator.credentials.get()
, diserialisasi sebagai string JSON. Format serialisasi kompatibel denganPublicKeyCredential.parseRequestOptionsFromJSON()
. -
requestId
angka
ID buram untuk permintaan.
GetResponseDetails
Properti
-
error
DOMExceptionDetails opsional
DOMException
yang dihasilkan oleh permintaan jarak jauh, jika ada. -
requestId
angka
requestId
CreateRequest
. -
responseJson
string opsional
PublicKeyCredential
, yang dihasilkan oleh permintaan jarak jauh, jika ada, diserialkan sebagai string JSON dengan memanggil href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson">PublicKeyCredential.toJSON()
.
IsUvpaaRequest
Properti
-
requestId
angka
ID buram untuk permintaan.
IsUvpaaResponseDetails
Properti
-
isUvpaa
boolean
-
requestId
angka
Metode
attach()
chrome.webAuthenticationProxy.attach(): Promise<string | undefined>
Menjadikan ekstensi ini sebagai proxy permintaan Web Authentication API yang aktif.
Ekstensi desktop jarak jauh biasanya memanggil metode ini setelah mendeteksi lampiran sesi jarak jauh ke host ini. Setelah metode ini ditampilkan tanpa error, pemrosesan reguler permintaan WebAuthn ditangguhkan, dan peristiwa dari API ekstensi ini dimunculkan.
Metode ini akan gagal dengan menampilkan error jika ekstensi lain sudah dilampirkan.
Ekstensi terlampir harus memanggil detach()
setelah sesi desktop jarak jauh berakhir untuk melanjutkan pemrosesan permintaan WebAuthn reguler. Ekstensi otomatis terlepas jika dibongkar.
Lihat peristiwa onRemoteSessionStateChange
untuk menandakan perubahan lampiran sesi jarak jauh dari aplikasi native ke ekstensi (yang mungkin ditangguhkan).
Hasil
-
Promise<string | undefined>
completeCreateRequest()
chrome.webAuthenticationProxy.completeCreateRequest(
details: CreateResponseDetails,
): Promise<void>
Melaporkan hasil panggilan navigator.credentials.create()
. Ekstensi harus memanggil ini untuk setiap peristiwa onCreateRequest
yang telah diterimanya, kecuali jika permintaan dibatalkan (dalam hal ini, peristiwa onRequestCanceled
diaktifkan).
Parameter
-
detail
Hasil
-
Promise<void>
completeGetRequest()
chrome.webAuthenticationProxy.completeGetRequest(
details: GetResponseDetails,
): Promise<void>
Melaporkan hasil panggilan navigator.credentials.get()
. Ekstensi harus memanggil ini untuk setiap peristiwa onGetRequest
yang telah diterimanya, kecuali jika permintaan dibatalkan (dalam hal ini, peristiwa onRequestCanceled
diaktifkan).
Parameter
-
detail
Hasil
-
Promise<void>
completeIsUvpaaRequest()
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
details: IsUvpaaResponseDetails,
): Promise<void>
Melaporkan hasil panggilan PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
. Ekstensi harus memanggil ini untuk setiap peristiwa onIsUvpaaRequest
yang telah diterimanya.
Parameter
-
detail
Hasil
-
Promise<void>
detach()
chrome.webAuthenticationProxy.detach(): Promise<string | undefined>
Menghapus ekstensi ini agar tidak menjadi proxy permintaan Web Authentication API yang aktif.
Metode ini biasanya dipanggil saat ekstensi mendeteksi bahwa sesi desktop jarak jauh telah dihentikan. Setelah metode ini ditampilkan, ekstensi berhenti menjadi proxy permintaan Web Authentication API yang aktif.
Lihat peristiwa onRemoteSessionStateChange
untuk menandakan perubahan lampiran sesi jarak jauh dari aplikasi native ke ekstensi (yang mungkin ditangguhkan).
Hasil
-
Promise<string | undefined>
Acara
onCreateRequest
chrome.webAuthenticationProxy.onCreateRequest.addListener(
callback: function,
)
Diaktifkan saat panggilan navigator.credentials.create()
WebAuthn terjadi. Ekstensi harus memberikan respons dengan memanggil completeCreateRequest()
menggunakan requestId
dari requestInfo
.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(requestInfo: CreateRequest) => void
-
requestInfo
-
onGetRequest
chrome.webAuthenticationProxy.onGetRequest.addListener(
callback: function,
)
Diaktifkan saat panggilan navigator.credentials.get() WebAuthn terjadi. Ekstensi harus memberikan respons dengan memanggil completeGetRequest()
menggunakan requestId
dari requestInfo
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(requestInfo: GetRequest) => void
-
requestInfo
-
onIsUvpaaRequest
chrome.webAuthenticationProxy.onIsUvpaaRequest.addListener(
callback: function,
)
Diaktifkan saat panggilan PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()
terjadi. Ekstensi harus memberikan respons dengan memanggil completeIsUvpaaRequest()
menggunakan requestId
dari requestInfo
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(requestInfo: IsUvpaaRequest) => void
-
requestInfo
-
onRemoteSessionStateChange
chrome.webAuthenticationProxy.onRemoteSessionStateChange.addListener(
callback: function,
)
Aplikasi native yang terkait dengan ekstensi ini dapat menyebabkan peristiwa ini diaktifkan dengan menulis ke file yang namanya sama dengan ID ekstensi dalam direktori bernama WebAuthenticationProxyRemoteSessionStateChange
di dalam direktori data pengguna default
Isi file harus kosong. Artinya, Anda tidak perlu mengubah konten file untuk memicu peristiwa ini.
Aplikasi host native dapat menggunakan mekanisme peristiwa ini untuk menandakan kemungkinan perubahan status sesi jarak jauh (yaitu dari terlepas ke terlampir, atau sebaliknya) saat pekerja layanan ekstensi mungkin ditangguhkan. Di pengendali untuk peristiwa ini, ekstensi dapat memanggil metode API attach()
atau detach()
dengan tepat.
Pemroses peristiwa harus didaftarkan secara sinkron saat waktu pemuatan.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:() => void
onRequestCanceled
chrome.webAuthenticationProxy.onRequestCanceled.addListener(
callback: function,
)
Diaktifkan saat peristiwa onCreateRequest
atau onGetRequest
dibatalkan (karena permintaan WebAuthn dibatalkan oleh pemanggil, atau karena waktunya habis). Saat menerima peristiwa ini, ekstensi harus membatalkan pemrosesan permintaan yang sesuai di sisi klien. Ekstensi tidak dapat menyelesaikan permintaan setelah dibatalkan.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(requestId: number) => void
-
requestId
angka
-