Để mang lại trải nghiệm khoá truy cập mạnh mẽ, bạn nên triển khai những điều sau trong ứng dụng của mình:
- Quản lý khoá truy cập của người dùng: Thêm một phần quản lý khoá truy cập chuyên biệt trong phần cài đặt của ứng dụng để cho phép người dùng quản lý khoá truy cập của họ.
- Tích hợp trình cung cấp thông tin xác thực: Để giao tiếp với trình cung cấp thông tin xác thực, máy chủ ứng dụng có thể triển khai các điểm cuối khoá truy cập để đăng ký, xác thực và xoá.
Quản lý khoá truy cập của người dùng
Để cho phép người dùng quản lý khoá truy cập, hãy thêm một phần quản lý khoá truy cập chuyên dụng vào ứng dụng để người dùng có thể tạo, xem, đổi tên và xoá khoá truy cập của họ.
Hiển thị các khoá truy cập có sẵn
Trong phần cài đặt khoá truy cập của ứng dụng, hãy cung cấp cho người dùng thông tin, bao gồm cả nhà cung cấp thông tin xác thực đã dùng để tạo thông tin xác thực, ngày tạo và ngày sử dụng gần đây nhất.
Để lấy thông tin về nhà cung cấp thông tin đăng nhập, hãy sử dụng Mã nhận dạng duy nhất trên toàn cầu (AAGUID) của Chứng thực trình xác thực được liên kết với khoá truy cập tương ứng.
AAGUID là một phần của PublicKeyCredential được trả về khi bạn tạo khoá truy cập. AAGUID giúp bạn xác định trình cung cấp thông tin đăng nhập đã tạo khoá truy cập. Để tìm hiểu thêm, hãy xem phần Xác định nhà cung cấp khoá truy cập bằng AAGUID.
Ứng dụng của bạn có thể hiển thị những thông tin sau về khoá truy cập:
- Tên khoá truy cập: Hiển thị tên được đặt khi khoá truy cập được đăng ký. Tên lý tưởng dựa trên nhà cung cấp thông tin đăng nhập (sử dụng AAGUID); nếu không xác định được nhà cung cấp, hãy sử dụng thông tin về kiểu thiết bị từ
android.os.Build. - Biểu trưng của nhà cung cấp: Hiển thị biểu trưng của nhà cung cấp thông tin đăng nhập. Dấu hiệu trực quan này giúp người dùng nhanh chóng xác định khoá truy cập chính xác mà họ muốn quản lý.
- Dấu thời gian: Cung cấp dấu thời gian tạo và dấu thời gian được dùng gần đây nhất. Thông tin này giúp người dùng quản lý thông tin đăng nhập và xác định khoá truy cập cũ hoặc không dùng đến.
- Chỉ báo trạng thái đồng bộ hoá: Theo mặc định, khoá truy cập được đồng bộ hoá với các trình cung cấp thông tin đăng nhập, nhưng khả năng đồng bộ hoá có thể khác nhau. Để tránh gây nhầm lẫn cho người dùng, hãy cho biết rõ nếu khoá truy cập không hỗ trợ đồng bộ hoá.
- Thông tin chi tiết về lần đăng nhập gần đây nhất (không bắt buộc): Cung cấp thông tin chi tiết như trình duyệt, hệ điều hành, địa chỉ IP hoặc vị trí của lần đăng nhập gần đây nhất. Đây là một tính năng không bắt buộc nhưng có giá trị để người dùng xác định hoạt động đáng ngờ tiềm ẩn.
Ngoài những thông tin chi tiết này, màn hình phải có các nút cho phép người dùng quản lý (xoá hoặc đổi tên) từng khoá truy cập.
Tạo nhiều khoá truy cập
Mặc dù bạn nên cung cấp cho người dùng cơ hội tạo khoá truy cập trong suốt hành trình của họ, chẳng hạn như ngay sau khi đăng nhập, nhưng phần cài đặt khoá truy cập của ứng dụng phải cho phép người dùng tạo khoá truy cập từ nhà cung cấp thông tin đăng nhập mà họ chọn.
Để giảm nguy cơ bị khoá tài khoản, hãy cho phép người dùng đăng ký nhiều khoá truy cập với các nhà cung cấp thông tin đăng nhập khác nhau. Nếu không truy cập được vào một trình cung cấp thông tin đăng nhập (ví dụ: nếu nền tảng ngừng hỗ trợ hoặc người dùng mất quyền truy cập), thì họ có thể sử dụng một khoá truy cập khác để đăng nhập. Đảm bảo rằng cơ sở dữ liệu của bạn hỗ trợ lưu trữ nhiều thông tin đăng nhập này cho mỗi người dùng. Tuy nhiên, bạn có thể ngăn người dùng tạo khoá truy cập cho cùng một tài khoản bằng cùng một trình cung cấp thông tin đăng nhập.
Xoá khoá truy cập
Phần cài đặt khoá truy cập của ứng dụng phải cho phép người dùng xoá khoá truy cập.
Tích hợp trình cung cấp thông tin đăng nhập
Để duy trì tính nhất quán giữa khoá truy cập, máy chủ ứng dụng và trình cung cấp thông tin xác thực, hãy bật tính năng quản lý khoá truy cập từ đường dẫn được xác định trước /.well-known/passkey-endpoints trên máy chủ ứng dụng. Điều này cho phép các nhà cung cấp thông tin đăng nhập trực tiếp sử dụng các điểm cuối này để quản lý khoá truy cập. Để tìm hiểu thêm, hãy xem bài viết Thêm điểm cuối khoá truy cập.
Tài nguyên khác
- Hướng dẫn về trải nghiệm người dùng với khoá truy cập
- Video: Cách giảm sự phụ thuộc vào mật khẩu trong các ứng dụng Android bằng sự hỗ trợ của khoá truy cập
- Lớp học lập trình: Tìm hiểu cách đơn giản hoá quy trình xác thực bằng cách sử dụng Credential Manager API trong ứng dụng Android
- Ứng dụng mẫu: CredentialManager