chrome.webAuthenticationProxy

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

Chrome 115 dan yang lebih baru MV3 dan yang lebih baru

Jenis

CreateRequest

Properti

  • requestDetailsJson

    string

    PublicKeyCredentialCreationOptions yang diteruskan ke navigator.credentials.create(), diserialisasi sebagai string JSON. Format serialisasi kompatibel dengan PublicKeyCredential.parseCreationOptionsFromJSON().

  • requestId

    angka

    ID buram untuk permintaan.

CreateResponseDetails

Properti

  • error

    DOMException yang dihasilkan oleh permintaan jarak jauh, jika ada.

  • requestId

    angka

    requestId dari CreateRequest.

  • responseJson

    string opsional

    PublicKeyCredential, yang dihasilkan oleh permintaan jarak jauh, jika ada, diserialisasi sebagai string JSON dengan memanggil href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON().

DOMExceptionDetails

Properti

  • pesan

    string

  • nama

    string

GetRequest

Properti

  • requestDetailsJson

    string

    PublicKeyCredentialRequestOptions yang diteruskan ke navigator.credentials.get(), diserialisasi sebagai string JSON. Format serialisasi kompatibel dengan PublicKeyCredential.parseRequestOptionsFromJSON().

  • requestId

    angka

    ID buram untuk permintaan.

GetResponseDetails

Properti

  • error

    DOMException yang dihasilkan oleh permintaan jarak jauh, jika ada.

  • requestId

    angka

    requestId dari CreateRequest.

  • responseJson

    string opsional

    PublicKeyCredential, yang dihasilkan oleh permintaan jarak jauh, jika ada, diserialisasi 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()

Janji
chrome.webAuthenticationProxy.attach(
  callback?: function,
)

Membuat ekstensi ini menjadi 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 akan ditangguhkan, dan peristiwa dari API ekstensi ini akan dimunculkan.

Metode ini akan gagal dengan error jika ekstensi lain sudah disertakan.

Ekstensi yang terlampir harus memanggil detach() setelah sesi desktop jarak jauh berakhir agar dapat melanjutkan pemrosesan permintaan WebAuthn reguler. Ekstensi secara otomatis menjadi terpisah jika dihapus muatannya.

Lihat peristiwa onRemoteSessionStateChange untuk menandakan perubahan lampiran sesi jarak jauh dari aplikasi native ke ekstensi (yang mungkin ditangguhkan).

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (error?: string) => void

    • error

      string opsional

Hasil

  • Promise<string | tidak terdefinisi>

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

completeCreateRequest()

Janji
chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
  callback?: function,
)

Melaporkan hasil panggilan navigator.credentials.create(). Ekstensi harus memanggil ini untuk setiap peristiwa onCreateRequest yang diterimanya, kecuali jika permintaan dibatalkan (dalam hal ini, peristiwa onRequestCanceled diaktifkan).

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

completeGetRequest()

Janji
chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
  callback?: function,
)

Melaporkan hasil panggilan navigator.credentials.get(). Ekstensi harus memanggil ini untuk setiap peristiwa onGetRequest yang diterimanya, kecuali jika permintaan dibatalkan (dalam hal ini, peristiwa onRequestCanceled diaktifkan).

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

completeIsUvpaaRequest()

Janji
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
  callback?: function,
)

Melaporkan hasil panggilan PublicKeyCredential.isUserVerifyingPlatformAuthenticator(). Ekstensi harus memanggilnya untuk setiap peristiwa onIsUvpaaRequest yang diterimanya.

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

detach()

Janji
chrome.webAuthenticationProxy.detach(
  callback?: function,
)

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 dihentikan. Setelah metode ini ditampilkan, ekstensi tidak lagi 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).

Parameter

  • callback

    fungsi opsional

    Parameter callback terlihat seperti ini:

    (error?: string) => void

    • error

      string opsional

Hasil

  • Promise<string | tidak terdefinisi>

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

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

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 ini:

    (requestInfo: GetRequest) => void

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

onRemoteSessionStateChange

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

Aplikasi native yang terkait dengan ekstensi ini dapat menyebabkan peristiwa ini diaktifkan dengan menulis ke file yang bernama sama dengan ID ekstensi di 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 terpasang, atau sebaliknya) saat pekerja layanan ekstensi mungkin ditangguhkan. Dalam pengendali untuk peristiwa ini, ekstensi dapat memanggil metode API attach() atau detach().

Pemroses peristiwa harus didaftarkan secara sinkron pada waktu pemuatan.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    () => void

onRequestCanceled

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

Diaktifkan saat peristiwa onCreateRequest atau onGetRequest dibatalkan (karena permintaan WebAuthn dibatalkan oleh pemanggil, atau karena waktu 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 ini:

    (requestId: number) => void

    • requestId

      angka