FIDO2 API 可讓 Android 應用程式建立及使用經過認證的高強度公開金鑰憑證,藉此驗證使用者。這個 API 提供 WebAuthn 用戶端實作,可支援使用 BLE、NFC 和 USB 漫遊驗證器 (安全性金鑰),以及平台驗證器,讓使用者可以透過指紋或螢幕鎖定進行驗證。
整合
FIDO2 API 的進入點是 Fido2ApiClient。
API 支援兩項作業:
註冊和登入都需要使用者互動。
您可以在 https://github.com/android/identity-samples/tree/main/Fido2 中找到示範 API 用法的範例應用程式。
與網站的互通性
讓使用者在網站和 Android 應用程式之間流暢共用憑證。如要這麼做,請利用 Digital Asset Links。您可以在網站上代管 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 應用程式連結說明文件。
步驟 2:連結至 Android 應用程式中的 assetlinks.json
在 Android 應用程式中,將下列程式碼新增至資訊清單檔案的 <application>
底下:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
步驟 3:在 string.xml 檔案中加入 asset_statements
字串資源
asset_statements
字串是 JSON 物件,指定要載入的 assetlinks.json
檔案。您必須逸出在字串中使用的所有格號和引號。例如:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>
如要進一步瞭解如何將應用程式與網站建立關聯,請參閱 Android 版密碼專用 Smart Lock 說明文件。