簡化密碼金鑰的 WebAuthn 功能偵測

瞭解如何使用 getClientCapabilities() 偵測 WebAuthn 功能,並為使用者提供專屬的驗證工作流程。

發布日期:2025 年 1 月 22 日

如何確保驗證工作流程能順利配合使用者的瀏覽器和裝置?

Chrome 133 版起,getClientCapabilities() WebAuthn API 可協助您判斷瀏覽器支援哪些驗證功能。開發人員可以呼叫 PublicKeyCredential.getClientCapabilities(),擷取支援功能的清單,並據此調整驗證工作流程。

這項強化功能可讓開發人員根據使用者環境,建立更完善且更符合使用者需求的驗證流程。

實作方式如下:

if (window.PublicKeyCredential &&
    PublicKeyCredential.getClientCapabilities) {
  const capabilities = await PublicKeyCredential.getClientCapabilities();
  if (capabilities.conditionalGet === true &&
      capabilities.passkeyPlatformAuthenticator === true) {
    // The browser supports passkeys and conditional mediation.
  }
}

這個方法可協助您為使用者量身打造驗證體驗,方法是找出支援的功能,例如密碼金鑰、條件式中介服務 (對話方塊中的密碼金鑰自動填入)、混合傳輸 (使用藍牙進行跨裝置驗證),甚至是擴充功能。

功能偵測的重要性

瞭解用戶端功能可讓您:

  • 將實作內容調整為客戶支援的功能,打造更順暢的使用者體驗,並提高驗證可靠性。
  • 減少因不支援的 WebAuthn 功能而導致的錯誤。

使用 getClientCapabilites() 時,您可以放心地建立可在各種裝置和瀏覽器上運作的驗證體驗。

開始探索

如果您已準備好深入瞭解,請參閱使用 getClientCapabilities() 進行更簡單的 WebAuthn 功能偵測,瞭解完整的功能清單、詳細操作說明和一些最佳做法。

如要進一步瞭解密碼金鑰和無密碼登入功能,請參閱 Chrome 的密碼金鑰頁面