chrome.webAuthenticationProxy

Nội dung 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 này trên máy khách cục bộ.

Quyền

webAuthenticationProxy

Phạm vi cung cấp

Chrome 115 trở lên MV3

Loại

CreateRequest

Thuộc tính

  • requestDetailsJson

    string

    PublicKeyCredentialCreationOptions được chuyể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

    number

    Giá trị nhận dạng không rõ ràng 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

    number

    requestId của CreateRequest.

  • responseJson

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

    PublicKeyCredential, do yêu cầu từ xa (nếu có) tạo ra, đượ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

    string

  • tên

    string

GetRequest

Thuộc tính

  • requestDetailsJson

    string

    PublicKeyCredentialRequestOptions được chuyể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

    number

    Giá trị nhận dạng không rõ ràng 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

    number

    requestId của CreateRequest.

  • responseJson

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

    PublicKeyCredential, do yêu cầu từ xa (nếu có) tạo ra, đượ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

    number

    Giá trị nhận dạng không rõ ràng cho yêu cầu.

IsUvpaaResponseDetails

Thuộc tính

  • isUvpaa

    boolean

  • requestId

    number

Phương thức

attach()

Cam kết
chrome.webAuthenticationProxy.attach(
  callback?: function,
)

Đặ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 tệp đính kèm của một phiên từ xa vào máy chủ lưu trữ này. 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 đưa ra.

Phương pháp này không chạy được nhưng có lỗi nếu bạn đã đính kèm một tiện ích khác.

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 bị tách ra khi bị huỷ tải.

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

Tham số

  • số gọi lại

    hàm không bắt buộc

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

    (error?: string)=>void

    • error

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

Giá trị trả về

  • Hứa hẹn<string|không xác định>

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

completeCreateRequest()

Cam kết
chrome.webAuthenticationProxy.completeCreateRequest(
  details: CreateResponseDetails,
  callback?: function,
)

Báo cáo kết quả của lệnh gọi navigator.credentials.create(). Tiện ích phải gọi phương thức này cho mọi sự kiện onCreateRequest đã 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).

Tham số

  • số gọi lại

    hàm không bắt buộc

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

    ()=>void

Giá trị trả về

  • Promise<void>

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

completeGetRequest()

Cam kết
chrome.webAuthenticationProxy.completeGetRequest(
  details: GetResponseDetails,
  callback?: function,
)

Báo cáo kết quả của lệnh gọi navigator.credentials.get(). Tiện ích phải gọi phương thức này cho mọi sự kiện onGetRequest đã 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).

Tham số

  • chi tiết
  • số gọi lại

    hàm không bắt buộc

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

    ()=>void

Giá trị trả về

  • Promise<void>

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

completeIsUvpaaRequest()

Cam kết
chrome.webAuthenticationProxy.completeIsUvpaaRequest(
  details: IsUvpaaResponseDetails,
  callback?: function,
)

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 đã nhận được.

Tham số

  • số gọi lại

    hàm không bắt buộc

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

    ()=>void

Giá trị trả về

  • Promise<void>

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

detach()

Cam kết
chrome.webAuthenticationProxy.detach(
  callback?: function,
)

Xoá tiện ích này khỏi proxy yêu cầu API xác thực 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 API xác thực web đang hoạt động nữa.

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

Tham số

  • số gọi lại

    hàm không bắt buộc

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

    (error?: string)=>void

    • error

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

Giá trị trả về

  • Hứa hẹn<string|không xác định>

    Lời hứa được hỗ trợ trong Manifest V3 trở lên nhưng lệnh gọi lại được cung cấp để có khả năng tương thích ngược. Bạn không thể sử dụng cả hai trong cùng một lệnh gọi hàm. Lời hứa sẽ được phân giải bằng cùng một loại được truyền đến lệnh gọi lại.

Sự kiện

onCreateRequest

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

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

Tham số

onGetRequest

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

Kích hoạt khi xảy ra 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() với requestId từ requestInfo

Tham số

  • số gọi lại

    hàm

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

    (requestInfo: GetRequest)=>void

onIsUvpaaRequest

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

Kích hoạt khi thực hiện 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() với requestId từ requestInfo

Tham số

onRemoteSessionStateChange

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

Ứng dụng gốc liên kết với tiện ích này có thể kích hoạt sự kiện này bằng cách ghi vào tệp có tên bằng với mã 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à 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 máy chủ lưu trữ gốc có thể sử dụng cơ chế sự kiện này để báo hiệu việc có thể thay đổi trạng thái phiên từ xa (tức là từ tách thành được đính kèm hoặc ngược lại) trong khi trình chạy dịch vụ 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.

Tham số

  • số gọi lại

    hàm

    Tham số callback sẽ 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ỷ (do yêu cầu WebAuthn bị phương thức gọi huỷ hoặc do 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. Các tiện ích không thể hoàn tất yêu cầu sau khi đã huỷ.

Tham số

  • số gọi lại

    hàm

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

    (requestId: number)=>void

    • requestId

      number