Tăng tối đa sự thuận tiện cho người dùng bằng cách cho phép chia sẻ thông tin xác thực liền mạch trên nhiều nền tảng trên các ứng dụng và trang web của mình. Khi nhiều trang web và ứng dụng Android dùng chung một chương trình phụ trợ quản lý tài khoản, tính năng này cho phép người dùng lưu thông tin đăng nhập một lần và tự động đề xuất các sản phẩm đó trên mọi trang web hoặc ứng dụng Android được liên kết.
Các phương pháp hay nhất
Để có trải nghiệm người dùng và bảo mật tối ưu, hãy triển khai tính năng chia sẻ thông tin đăng nhập liền mạch trên những điểm tiếp xúc này:
- Biểu mẫu đăng nhập: Bật tính năng tự động điền thông tin đăng nhập.
- Biểu mẫu đăng ký: Lưu trữ thông tin đăng nhập mới một cách an toàn để sử dụng trên nhiều nền tảng.
- Biểu mẫu thay đổi mật khẩu: Đồng bộ hoá việc cập nhật mật khẩu trên tất cả nền tảng.
- Biểu mẫu đặt lại mật khẩu: Cho phép đặt lại một mật khẩu để cập nhật tất cả nền tảng.
- Miền WebView: Mở rộng tính năng chia sẻ thông tin đăng nhập sang miền Chế độ xem web trong ứng dụng xử lý việc quản lý tài khoản (đăng nhập trên máy chủ, đăng ký, mật khẩu) biểu mẫu thay đổi hoặc đặt lại mật khẩu).
- Ứng dụng Android
Phương pháp này tạo ra một hệ thống quản lý thông tin xác thực hợp nhất, nâng cao cả sự thuận tiện và bảo mật cho người dùng.
Khi thiết kế trang web quản lý tài khoản của bạn, chúng tôi khuyên bạn nên thực hiện theo các phương pháp hay nhất cho trang web quản lý tài khoản:
- Thiết kế biểu mẫu đăng ký theo các phương pháp hay nhất
- Thiết kế biểu mẫu đăng nhập theo các phương pháp hay nhất
- Thêm một URL phổ biến để thay đổi mật khẩu
Khi thiết kế ứng dụng Android, bạn nên tích hợp ứng dụng với Trình quản lý thông tin xác thực Android.
Điều kiện tiên quyết
Trước khi thiết lập chế độ chia sẻ thông tin đăng nhập liền mạch, hãy đảm bảo bạn có: từng nền tảng:
Đối với từng ứng dụng Android:
- Mã ứng dụng Android, như khai báo trong tệp
build.gradle
của ứng dụng. - Tệp tham chiếu SHA256 của chứng chỉ ký.
- (Nên dùng) Tính năng đăng nhập của người dùng được triển khai bằng API Trình quản lý thông tin xác thực.
Đối với từng trang web:
- Có thể xuất bản tệp
/.well-known/assetlinks.json
trên từng ứng dụng tương ứng theo cú pháp Đường liên kết đến tài sản kỹ thuật số (DAL). - Tất cả miền quản lý tài khoản (đăng nhập, đăng ký, thay đổi mật khẩu hoặc mật khẩu đặt lại biểu mẫu) phải có thể truy cập được qua HTTPS.
Bật tính năng chia sẻ thông tin đăng nhập liền mạch giữa các ứng dụng và trang web Android
Để định cấu hình chia sẻ thông tin đăng nhập liền mạch giữa các ứng dụng và trang web, hãy tạo và xuất bản danh sách câu lệnh Digital Asset Links (Đường liên kết đến tài sản kỹ thuật số) trong đó khai báo các thực thể (trang web hoặc ứng dụng Android) được phép chia sẻ thông tin đăng nhập.
Cách khai báo mối quan hệ chia sẻ thông tin xác thực:
Tạo một tệp
assetlinks.json
chứa các câu lệnh liên kết đến trang web và đối với ứng dụng Android, theo cú pháp danh sách câu lệnhDAL:[ { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"web", "site":URL } }, { "relation":[ "delegate_permission/common.get_login_creds" ], "target":{ "namespace":"android_app", "package_name":"APP_ID", "sha256_cert_fingerprints":[ "SHA_HEX_VALUE" ] } } ]
Trong đó
URL
là URL trang web của bạn,APP_ID
là mã ứng dụng Android của bạn, vàSHA_HEX_VALUE
là vân tay số SHA256 của chứng chỉ ký của ứng dụng Android.Trường
relation
mô tả mối quan hệ đang được khai báo. Để khai báo ứng dụng và trang web dùng chung thông tin đăng nhập, hãy chỉ định mối quan hệ dưới dạngdelegate_permission/common.get_login_creds
. Tìm hiểu thêm về Chuỗi quan hệ trong DAL.Trường
target
là đối tượng chỉ định tài sản mà nội dung khai báo sẽ áp dụng.Sau đây là các trường xác định một trang web:
namespace
web
site
URL của trang web, có định dạng
https://domain[:optional_port
]; ví dụ: https://www.example.com.domain
phải đủ điều kiện và phải bỏ quaoptional_port
khi sử dụng cổng 443 cho HTTPS.Đích
site
chỉ được là miền gốc: bạn không thể giới hạn liên kết ứng dụng với một thư mục con cụ thể. Đừng thêm một đường dẫn vào URL, chẳng hạn như dấu gạch chéo ở cuối.Miền con không được cân nhắc để khớp: nghĩa là nếu bạn chỉ định
domain
là www.example.com, thì miền www.counter.example.com sẽ không được liên kết với ứng dụng của bạn.Sau đây là các trường xác định một ứng dụng Android:
không gian tên
android_app
package_name
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 của chứng chỉ ký của ứng dụng.
Lưu trữ tệp JSON chứa 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:
https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json
, trong đóDOMAIN
đủ điều kiện và Phải bỏ quaOPTIONAL_PORT
khi sử dụng cổng 443 cho HTTPS.Khai báo mối liên kết trong ứng dụng Android bằng cách nhúng một câu lệnh trong Tệp
res/values/strings.xml
của ứng dụng Android liên kết đến bảng sao kê liệt kê bạn tạo ở Bước 1. Thêm một đối tượng chỉ định các tệpassetlinks.json
cho tải. Ví dụ:<string name="asset_statements" translatable="false"> [{ \"include\": \"https://DOMAIN[:OPTIONAL_PORT]/.well-known/assetlinks.json\" }] </string>
Thay thế
DOMAIN
vàOPTIONAL_PORT
(phải được bỏ qua khi sử dụng cổng 443 đối với HTTPS). Ví dụ:https://www.example.com
. Thoát khỏi mọi dấu nháy đơn và dấu ngoặc kép mà bạn sử dụng trong chuỗi.Bạn cũng có thể thêm một đoạn mã JSON vào tệp
strings.xml
như minh hoạ trong tài liệu về DAL, nhưng việc sử dụng câu lệnhinclude
cho phép bạn thay đổi tuyên bố mà không cần phát hành phiên bản mới của ứng dụng.Tham chiếu câu lệnh trong tệp kê khai bằng cách thêm dòng sau vào tệp
AndroidManifest.xml
của ứng dụng trong<application>
:<meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>
Phát hành phiên bản mới của ứng dụng Android tới Nhà phát triển trên Google Play Giao diện dòng lệnh
Sau khi làm theo các bước này, bạn đã thiết lập thành công thông tin đăng nhập liền mạch chia sẻ giữa trang web và ứng dụng Android của bạn.
Lưu ý rằng đây không phải là cách hợp lệ duy nhất để thiết lập DAL cho việc chia sẻ thông tin đăng nhập, nhưng phương pháp này giúp đơn giản hoá quá trình thêm các thực thể mới vào mạng lưới chia sẻ thông tin xác thực liền mạch, thúc đẩy khả năng tái sử dụng mã và giảm khả năng xảy ra lỗi trong quá trình cập nhật.