Android 的 FIDO2 API

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

FIDO2 API 可讓 Android 應用程式建立及使用經過嚴格驗證的公用金鑰憑證,用於驗證使用者。這個 API 提供了 WebAuthn Client 實作,支援使用 BLE、NFC 和 USB 漫遊驗證器 (安全金鑰) 以及平台驗證工具,透過指紋或螢幕鎖定的方式進行驗證。

整合

FIDO2 API 進入點是 Fido2ApiClient

API 支援以下兩種作業:

  • 「註冊」是指每個帳戶與每個驗證器產生一次,也就是使用者將驗證器與帳戶建立關聯時。
  • 信賴關係會在信賴方想要驗證使用者時進行。

註冊和簽署都需要使用者互動。

您可以前往 https://github.com/android/security-samples/tree/master/Fido 查看展示 API 使用情況的範例應用程式。

與您網站的互動性

方便使用者在您的網站和 Android 應用程式中順暢共用憑證。方法很簡單,只要利用數位資產連結就行了。 如要宣告關聯,您可以在網站中代管 Digital Asset Links JSON 檔案,並將 Digital Asset Link 檔案的連結新增至應用程式的資訊清單。

舉例來說,如果您想將 https://example.com 與 Android 應用程式 com.example.android 建立關聯,請採取下列 3 個步驟:

步驟 1:在您的網域中代管 assetlinks.json

建立這類 JSON 檔案,並存放在 https://example.com/.well-known/assetlinks.json 中。

[
  {
    "relation" : [
      "delegate_permission/common.handle_all_urls",
      "delegate_permission/common.get_login_creds"
    ],
    "target" : {
      "namespace" : "web",
      "site" : "https://example.com"
    }
  },
  {
    "relation" : [
      "delegate_permission/common.handle_all_urls",
      "delegate_permission/common.get_login_creds"
    ],
    "target" : {
      "namespace" : "android_app",
      "package_name" : "com.example.android",
      "sha256_cert_fingerprints" : [
         "DE:AD:BE:EF"
      ]
    }
  }
]

請確定檔案可供 Google 檢索,並透過 HTTP 標頭 Content-Type: application/json 提供。

sha256_cert_fingerprints 是您應用程式的簽署憑證的 SHA256 指紋。詳情請參閱 Android App Links 說明文件

在您的 Android 應用程式中,將以下這一行加入資訊清單的 <application> 之下:

<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />

步驟 3:將 asset_statements 字串資源新增至 string.xml 檔案。

asset_statements 字串是一個 JSON 物件,用於指定您要載入的 assetlinks.json 檔案。您必須逸出在字串中使用的任何引號和引號。例如:

<string name="asset_statements" translatable="false">
[{
  \"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>

如要進一步瞭解如何為應用程式和網站建立關聯,請參閱 Android 專用密碼專用 SmartLock 說明文件