Google cam kết nâng cao công bằng chủng tộc cho các cộng đồng Da đen. Xem làm thế nào.

API FIDO2 dành cho Android

API FIDO2 cho phép các ứng dụng Android tạo và sử dụng thông tin đăng nhập dựa trên khóa công khai mạnh, được chứng thực nhằm mục đích xác thực người dùng. API cung cấp triển khai WebAuthn Client , hỗ trợ việc sử dụng trình xác thực chuyển vùng BLE, NFC và USB (khóa 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 khóa màn hình của họ.

Hội nhập

Điểm nhập FIDO2 APIFido2ApiClient .

API hỗ trợ hai hoạt động:

  • Việc đăng ký được thực hiện một lần cho mỗi người xác thực trên mỗi tài khoản, khi người dùng liên kết người xác thực với một tài khoản.
  • Việc 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ả đăng ký và ký đều yêu cầu sự tương tác của người dùng.

Bạn có thể tìm thấy ứng dụng mẫu trình bày việc sử dụng API tại https://github.com/android/security-samples/tree/master/Fido .

Khả năng tương tác với trang web của bạn

Thật đơn giản để cho phép người dùng chia sẻ liền mạch thông tin đăng nhập trên trang web và ứng dụng Android của bạn. Để làm như vậy, hãy tận dụng các Liên kết Tài sản Kỹ thuật số . Bạn có thể khai báo liên kết bằng cách lưu trữ tệp JSON Liên kết tài sản kỹ thuật số trên trang web của mình và thêm liên kết vào tệp Liên kết 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 ứng dụng Android com.example.android , đây là 3 bước bắt buộc:

Bước 1. Lưu trữ tài sản assetlinks.json tại miền của bạn

Tạo một tệp JSON như thế này và lưu trữ nó 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 nó có thể thu thập thông tin từ Google và được cung cấp với tiêu đề HTTP Content-Type: application/json .

Trong ứng dụng Android của bạn, 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

Chuỗi asset_statements là một đối tượng JSON chỉ định các tệp assetlinks.json sẽ tải. Bạn phải thoát khỏi bất kỳ dấu nháy đơn và dấu ngoặc kép nào bạn sử 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 của bạn, hãy đọc tài liệu SmartLock cho Mật khẩu trên Android .