chrome.webAuthenticationProxy

Mô tả

API chrome.webAuthenticationProxy cho phép phần mềm máy tính từ xa chạy trên một 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ột ứng dụng cục bộ.

Quyền

webAuthenticationProxy

Phạm vi cung cấp

Chrome 115 trở lên 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 một 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 không công khai 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, do yêu cầu từ xa tạo ra (nếu có), được chuyển đổi tuần tự dưới dạng một 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 một 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 không công khai 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, do yêu cầu từ xa tạo ra (nếu có), được chuyển đổi tuần tự dưới dạng một 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 không công khai cho yêu cầu.

IsUvpaaResponseDetails

Thuộc tính

  • isUvpaa

    boolean

  • requestId

    số

Phương thức

attach()

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

Đặt tiện ích này làm proxy yêu cầu API Xác thực web đ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 việc đính kèm một phiên từ xa vào máy chủ 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 dừng và các sự kiện từ API tiện ích này sẽ được tạo.

Phương thức này sẽ gặp 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. Các tiện ích sẽ tự động tách ra nếu bị gỡ.

Tham khảo sự kiện onRemoteSessionStateChange để báo hiệu sự thay đổi của 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ề

  • Promise<string | undefined>

completeCreateRequest()

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

Báo cáo kết quả của một 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()

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

Báo cáo kết quả của một 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()

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

Báo cáo kết quả của một 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()

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

Xoá tiện ích này khỏi vai trò là proxy yêu cầu API Xác thực trên web đ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 đã bị chấm dứt. Sau khi phương thức này trả về, tiện ích sẽ không còn là proxy yêu cầu Web Authentication API đang hoạt động nữa.

Tham khảo sự kiện onRemoteSessionStateChange để báo hiệu sự thay đổi của 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ề

  • Promise<string | undefined>

Sự kiện

onCreateRequest

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

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

Thông số

onGetRequest

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

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

Thông số

  • callback

    hàm

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

    (requestInfo: GetRequest) => void

onIsUvpaaRequest

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

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

Thông số

onRemoteSessionStateChange

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

Một ứng dụng gốc đượ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 với mã nhận dạng của tiện ích trong một thư mục có tên là 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 thay đổi nội dung của tệp để kích hoạt sự kiện này.

Ứng dụng máy chủ gốc có thể sử dụng cơ chế sự kiện này để báo hiệu một thay đổi có thể xảy ra về 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 được đí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() cho phù hợp.

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

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

Kích hoạt khi sự kiện onCreateRequest hoặc onGetRequest bị huỷ (vì yêu cầu WebAuthn bị người gọi huỷ hoặc vì yêu cầu hết thời gian chờ). Khi nhận được sự kiện này, tiện ích sẽ huỷ 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 mộ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ố