browser.webAuthenticationProxy

Mô tả

API chrome.webAuthenticationProxy cho phép phần mềm máy tính từ xa chạy trên máy chủ từ xa chặn các yêu cầu API Xác thực web (WebAuthn) để xử lý các yêu cầu đó trên máy khách cục bộ.

Quyền

webAuthenticationProxy

Phạm vi cung cấp

Chrome 115 trở lên browser.* kể từ Chrome 148 MV3 trở lên

Loại

CreateRequest

Thuộc tính

  • requestDetailsJson

    chuỗi

    PublicKeyCredentialCreationOptions được truyền đến navigator.credentials.create(), được chuyển đổi tuần tự dưới dạng chuỗi JSON. Định dạng chuyển đổi tuần tự tương thích với PublicKeyCredential.parseCreationOptionsFromJSON().

  • requestId

    số

    Giá trị nhận dạng mờ cho yêu cầu.

CreateResponseDetails

Thuộc tính

  • error

    DOMExceptionDetails không bắt buộc

    DOMException do yêu cầu từ xa tạo ra, nếu có.

  • requestId

    số

    requestId của CreateRequest.

  • responseJson

    chuỗi không bắt buộc

    PublicKeyCredential, được tạo ra từ yêu cầu từ xa (nếu có), được chuyển đổi tuần tự dưới dạng chuỗi JSON bằng cách gọi href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON().

DOMExceptionDetails

Thuộc tính

  • tin nhắn

    chuỗi

  • tên

    chuỗi

GetRequest

Thuộc tính

  • requestDetailsJson

    chuỗi

    PublicKeyCredentialRequestOptions được truyền đến navigator.credentials.get(), được chuyển đổi tuần tự dưới dạng chuỗi JSON. Định dạng chuyển đổi tuần tự tương thích với PublicKeyCredential.parseRequestOptionsFromJSON().

  • requestId

    số

    Giá trị nhận dạng mờ cho yêu cầu.

GetResponseDetails

Thuộc tính

  • error

    DOMExceptionDetails không bắt buộc

    DOMException do yêu cầu từ xa tạo ra, nếu có.

  • requestId

    số

    requestId của CreateRequest.

  • responseJson

    chuỗi không bắt buộc

    PublicKeyCredential, được tạo ra từ yêu cầu từ xa (nếu có), được chuyển đổi tuần tự dưới dạng chuỗi JSON bằng cách gọi href="https://w3c.github.io/webauthn/#dom-publickeycredential-tojson"> PublicKeyCredential.toJSON().

IsUvpaaRequest

Thuộc tính

  • requestId

    số

    Giá trị nhận dạng mờ cho yêu cầu.

IsUvpaaResponseDetails

Thuộc tính

  • isUvpaa

    boolean

  • requestId

    số

Phương thức

attach()

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

Đặt tiện ích này làm proxy yêu cầu API Web Authentication đang hoạt động.

Các tiện ích máy tính từ xa thường gọi phương thức này sau khi phát hiện thấy một phiên từ xa được đính kèm vào máy chủ lưu trữ này. Sau khi phương thức này trả về mà không có lỗi, quá trình xử lý thông thường các yêu cầu WebAuthn sẽ bị tạm ngưng và các sự kiện từ API tiện ích này sẽ được kích hoạt.

Phương thức này không thành công và báo lỗi nếu một tiện ích khác đã được đính kèm.

Tiện ích đính kèm phải gọi detach() sau khi phiên máy tính từ xa kết thúc để tiếp tục xử lý yêu cầu WebAuthn thông thường. Tiện ích sẽ tự động tách ra nếu bị huỷ tải.

Hãy tham khảo sự kiện onRemoteSessionStateChange để báo hiệu sự thay đổi về tệp đính kèm phiên từ xa từ một ứng dụng gốc sang tiện ích (có thể bị tạm ngưng).

Giá trị trả về

  • <string | undefined> hứa hẹn

completeCreateRequest()

browser.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
)
: Promise<void>

Báo cáo kết quả của lệnh gọi navigator.credentials.create(). Tiện ích phải gọi hàm này cho mọi sự kiện onCreateRequest mà tiện ích nhận được, trừ phi yêu cầu bị huỷ (trong trường hợp đó, sự kiện onRequestCanceled sẽ được kích hoạt).

Thông số

Giá trị trả về

  • Promise<void>

completeGetRequest()

browser.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
)
: Promise<void>

Báo cáo kết quả của lệnh gọi navigator.credentials.get(). Tiện ích phải gọi hàm này cho mọi sự kiện onGetRequest mà tiện ích nhận được, trừ phi yêu cầu bị huỷ (trong trường hợp đó, sự kiện onRequestCanceled sẽ được kích hoạt).

Thông số

Giá trị trả về

  • Promise<void>

completeIsUvpaaRequest()

browser.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
)
: Promise<void>

Báo cáo kết quả của lệnh gọi PublicKeyCredential.isUserVerifyingPlatformAuthenticator(). Tiện ích phải gọi hàm này cho mọi sự kiện onIsUvpaaRequest mà tiện ích nhận được.

Thông số

Giá trị trả về

  • Promise<void>

detach()

browser.webAuthenticationProxy.detach(): Promise<string | undefined>

Xoá tiện ích này khỏi vai trò là proxy yêu cầu API Web Authentication đang hoạt động.

Phương thức này thường được gọi khi tiện ích phát hiện thấy một phiên máy tính từ xa đã kết thúc. Sau khi phương thức này trả về, tiện ích sẽ không còn là proxy yêu cầu API Xác thực web đang hoạt động nữa.

Hãy tham khảo sự kiện onRemoteSessionStateChange để báo hiệu sự thay đổi về tệp đính kèm phiên từ xa từ một ứng dụng gốc sang tiện ích (có thể bị tạm ngưng).

Giá trị trả về

  • <string | undefined> hứa hẹn

Sự kiện

onCreateRequest

browser.webAuthenticationProxy.onCreateRequest.addListener(
  callback: function,
)

Kích hoạt khi có lệnh gọi navigator.credentials.create() WebAuthn. Tiện ích phải cung cấp phản hồi bằng cách gọi completeCreateRequest() bằng requestId từ requestInfo.

Thông số

onGetRequest

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

Kích hoạt khi có lệnh gọi WebAuthn navigator.credentials.get(). Tiện ích phải cung cấp phản hồi bằng cách gọi completeGetRequest() bằng requestId từ requestInfo

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (requestInfo: GetRequest) => void

onIsUvpaaRequest

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

Kích hoạt khi có lệnh gọi PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable(). Tiện ích phải cung cấp phản hồi bằng cách gọi completeIsUvpaaRequest() bằng requestId từ requestInfo

Thông số

onRemoteSessionStateChange

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

Một ứng dụng gốc liên kết với tiện ích này có thể khiến sự kiện này được kích hoạt bằng cách ghi vào một tệp có tên bằng mã nhận dạng của tiện ích trong thư mục có tên WebAuthenticationProxyRemoteSessionStateChange bên trong thư mục dữ liệu người dùng mặc định

Nội dung của tệp phải trống. Tức là bạn không cần phải thay đổi nội dung của tệp để kích hoạt sự kiện này.

Ứng dụng lưu trữ gốc có thể sử dụng cơ chế sự kiện này để báo hiệu khả năng thay đổi trạng thái phiên từ xa (tức là từ trạng thái tách rời sang trạng thái đính kèm hoặc ngược lại) trong khi trình chạy dịch vụ của tiện ích có thể bị tạm ngưng. Trong trình xử lý cho sự kiện này, tiện ích có thể gọi các phương thức API attach() hoặc detach() tương ứng.

Trình nghe sự kiện phải được đăng ký đồng bộ tại thời điểm tải.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    () => void

onRequestCanceled

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

Kích hoạt khi một sự kiện onCreateRequest hoặc onGetRequest bị huỷ (vì yêu cầu WebAuthn bị phương thức gọi huỷ hoặc vì hết thời gian chờ). Khi nhận được sự kiện này, tiện ích nên huỷ quá trình xử lý yêu cầu tương ứng ở phía máy khách. Tiện ích không thể hoàn tất yêu cầu sau khi yêu cầu đó bị huỷ.

Thông số

  • callback

    hàm

    Tham số callback có dạng như sau:

    (requestId: number) => void

    • requestId

      số