Điều kiện tiên quyết chính để triển khai trải nghiệm đăng nhập liền mạch bằng Trình quản lý thông tin xác thực trên ứng dụng và trang web của bạn là thiết lập mối liên kết an toàn giữa chúng. Điều này được thực hiện bằng cách sử dụng tệp Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số). Tệp này cho phép các trình cung cấp thông tin đăng nhập chia sẻ thông tin đăng nhập một cách an toàn giữa ứng dụng và trang web của bạn. Ví dụ: một trang web có thể khai báo rằng trang web đó dùng chung thông tin đăng nhập với một ứng dụng Android hoặc một trang web khác bằng cách sử dụng tệp Digital Asset Links. Khi sử dụng Digital Asset Links, người dùng có thể đăng nhập liền mạch và sử dụng cùng một thông tin đăng nhập đã lưu trên các ứng dụng và trang web được liên kết.
Định cấu hình Digital Asset Links giữa ứng dụng và trang web
Để cho phép các trình cung cấp thông tin đăng nhập sử dụng khoá truy cập và mật khẩu một cách phổ biến trên ứng dụng và trang web của bạn, hãy tạo một tệp Digital Asset Links cho ứng dụng của bạn theo các bước sau:
1. Tạo tệp JSON chứa Digital Asset Links
Tạo một tệp có tên là assetlinks.json với cấu trúc sau:
[
{
"relation" : [
"<array_of_permissions_granted_to_app>"
],
"target" : {
"namespace" : "android_app",
"package_name" : "<android_application_package_name>",
"sha256_cert_fingerprints" : [
"<sha256_certificate_fingerprint_of_signing_key>"
]
}
}
]
relation: Một mảng gồm một hoặc nhiều chuỗi mô tả mối quan hệ đang được khai báo. Để khai báo rằng các ứng dụng và trang web dùng chung thông tin đăng nhập, hãy chỉ định các mối quan hệ sau trong một mảng:delegate_permission/common.handle_all_urls: Mối quan hệ này cho phép Đường liên kết đến ứng dụng Android, nhờ đó ứng dụng Android của bạn có thể xử lý tất cả URL trên web cho một miền cụ thể.delegate_permission/common.get_login_creds: Mối quan hệ này cho phép chia sẻ thông tin đăng nhập giữa trang web và ứng dụng Android của bạn.
target: Một đối tượng chỉ định tài sản mà nội dung khai báo áp dụng.target.namespace: Đặt giá trị này thànhandroid_app.target.package_name: Đặt giá trị này thành tên gói được khai báo trong tệp kê khai của ứng dụng, ví dụ:com.example.android.
sha256_cert_fingerprints: Vân tay số SHA256 trong chứng chỉ ký của ứng dụng. Để truy xuất vân tay số SHA256 cho ứng dụng của bạn, hãy xem phần Khai báo mối liên kết với trang web.
Sau đây là ví dụ về đích đến cho một ứng dụng:
[
{
"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" : [
SHA_HEX_VALUE
]
}
}
]
2. Lưu trữ tệp JSON chứa Digital Asset Links
Lưu trữ tệp Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số) tại vị trí sau trên miền đăng nhập cho trang web của bạn:
```none
https://domain[:optional_port]/.well-known/assetlinks.json
```
Ví dụ: nếu miền đăng nhập của bạn là signin.example.com, hãy lưu trữ tệp tại: https://signin.example.com/.well-known/assetlinks.json.
Loại MIME cho tệp Digital Asset Links phải là JSON. Đảm bảo rằng máy chủ gửi một tiêu đề Content-Type: application/json trong phản hồi, với trạng thái HTTP được đặt thành 200.
3. Cho phép truy xuất tệp Digital Asset Links
Cập nhật máy chủ lưu trữ để cho phép Google truy xuất tệp Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số) của bạn. Hầu hết các trang web đều cho phép mọi tác nhân tự động truy xuất tệp trong đường dẫn /.well-known/ để các dịch vụ khác có thể truy cập vào siêu dữ liệu trong những tệp đó.
Nếu bạn có tệp robots.txt, hãy cho phép trình thu thập dữ liệu web truy xuất /.well-known/assetlinks.json bằng cách cập nhật robots.txt như sau:
User-agent: *
Allow: /.well-known/
4. Cập nhật tệp kê khai của ứng dụng
Trong tệp kê khai của ứng dụng, hãy thêm các dòng sau trong <application>:
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
5. Định cấu hình Digital Asset Links cho mật khẩu
Nếu đang dùng Trình quản lý thông tin xác thực cho mật khẩu, bạn phải hoàn tất một bước bổ sung để định cấu hình mối liên kết đến tài sản kỹ thuật số.
Thêm một đối tượng chỉ định các tệp assetlinks.json cần tải trong tệp kê khai. 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 như trong ví dụ sau:
<string name="asset_statements" translatable="false">
[{
\"include\": \"https://signin.example.com/.well-known/assetlinks.json\"
}]
</string>
Đường liên kết https://signin.example.com/.well-known/assetlinks.json phải trả về phản hồi HTTP 200 và có tiêu đề Content-Type là application/json.
Quá trình xác minh sẽ không thành công nếu phản hồi có lệnh chuyển hướng HTTP 301 hoặc 302 hoặc Content-Type không phải JSON.
Ví dụ sau đây cho thấy một yêu cầu mẫu và các tiêu đề phản hồi dự kiến:
> GET /.well-known/assetlinks.json HTTP/1.1
> User-Agent: curl/7.35.0
> Host: signin.example.com
< HTTP/1.1 200 OK
< Content-Type: application/json
Các bước tiếp theo
Sau khi thêm các phần phụ thuộc cần thiết và định cấu hình Digital Asset Links cho khoá truy cập, bạn có thể sử dụng Trình quản lý thông tin xác thực để triển khai các phương thức xác thực được hỗ trợ: Khoá truy cập và Đăng nhập bằng Google. Để bắt đầu, hãy xem các hướng dẫn sau đây dành cho nhà phát triển:
- Thiết lập khoá truy cập bằng Trình quản lý thông tin xác thực: Tìm hiểu cách triển khai khoá truy cập, phương thức hiện đại, chống lừa đảo để xác thực một cách an toàn và thân thiện với người dùng.
- Thiết lập tính năng Đăng nhập bằng Google bằng Trình quản lý thông tin xác thực: Tích hợp tính năng "Đăng nhập bằng Google" để đơn giản hoá quy trình đăng nhập của người dùng bằng Tài khoản Google.
- Khắc phục các lỗi thường gặp với Trình quản lý thông tin xác thực: Tìm hiểu cách giải quyết các lỗi thường gặp với Trình quản lý thông tin xác thực.
- Tích hợp tính năng xác thực Firebase: Cho phép người dùng xác thực bằng Firebase thông qua Tài khoản Google của họ.