API FIDO2 cho phép các ứng dụng Android tạo và sử dụng thông tin xác thực mạnh, được chứng thực dựa trên khoá công khai cho mục đích xác thực người dùng. API này cung cấp phương thức triển khai Ứng dụng WebAuthn, hỗ trợ việc sử dụng trình xác thực chuyển vùng BLE, NFC và USB (khoá bảo mật) cũng như trình xác thực nền tảng, cho phép người dùng xác thực bằng vân tay hoặc màn hình khoá.
Tích hợp
Điểm truy cập API FIDO2 là Fido2ApiClient.
API này hỗ trợ hai thao tác:
- Ghi danh được thực hiện một lần cho mỗi trình xác thực trên mỗi tài khoản, khi người dùng liên kết một trình xác thực với một tài khoản.
- Hoạt động ký được thực hiện bất cứ khi nào bên phụ thuộc muốn xác thực người dùng.
Cả quy trình đăng ký và ký đều yêu cầu người dùng tương tác.
Khả năng tương tác với trang web của bạn
Bạn có thể dễ dàng cho phép người dùng chia sẻ thông tin đăng nhập một cách liền mạch trên trang web và ứng dụng Android của bạn. Để làm được việc này, hãy tận dụng Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số). Bạn có thể khai báo mối liên kết bằng cách lưu trữ tệp JSON chứa Đường liên kết đến tài sản kỹ thuật số trên trang web của mình và thêm đường liên kết đến tệp Đường liên kết đến tài sản kỹ thuật số vào tệp kê khai của ứng dụng.
Ví dụ: nếu bạn muốn liên kết https://example.com
với một ứng dụng Android com.example.android
, thì sau đây là 3 bước bắt buộc:
Bước 1. Lưu trữ assetlinks.json
trên miền của bạn
Tạo một tệp JSON như thế này và lưu trữ tệp đó tại 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"
]
}
}
]
Đảm bảo rằng Google có thể thu thập dữ liệu trang này và trang này được phân phát bằng tiêu đề HTTP Content-Type: application/json
.
sha256_cert_fingerprints
là vân tay số SHA256 của chứng chỉ ký ứng dụng.
Tìm hiểu thêm thông tin chi tiết trong tài liệu về Đường liên kết trong ứng dụng Android.
Bước 2. Liên kết đến assetlinks.json
trong ứng dụng Android
Trong ứng dụng Android, hãy thêm dòng sau vào tệp kê khai trong <application>
:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
Bước 3. Thêm tài nguyên chuỗi asset_statements
vào tệp strings.xml
Chuỗi asset_statements
là một đối tượng JSON chỉ định các tệp assetlinks.json
cần tải. Bạn phải thoát mọi dấu nháy đơn và dấu ngoặc kép mà bạn dùng trong chuỗi. Ví dụ:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://example.com/.well-known/assetlinks.json\"
}]
</string>
Để tìm hiểu thêm về cách liên kết ứng dụng và trang web, hãy đọc tài liệu về Smart Lock cho mật khẩu trên Android.