Ngày xuất bản: 5 tháng 6 năm 2025
Khoá truy cập được thiết kế để cách mạng hoá trải nghiệm đăng nhập, mang đến một giải pháp thay thế đơn giản, nhanh chóng và an toàn hơn so với mật khẩu. Danh sách kiểm tra này sẽ hướng dẫn bạn các khía cạnh chính của việc triển khai khoá truy cập để đạt được kết quả tối ưu về trải nghiệm người dùng (UX).
Cách sử dụng danh sách kiểm tra này
Danh sách kiểm tra này dành cho các nhà phát triển và nhóm sản phẩm triển khai khoá truy cập trong quy trình xác thực. Hãy sử dụng tiện ích này để:
- Xác thực rằng quá trình triển khai của bạn tuân theo các phương pháp hay nhất hiện đại về UX khoá truy cập được mô tả trong các bài viết sau.
- Xác định các thành phần bắt buộc và không bắt buộc giúp cải thiện khả năng sử dụng, tính bảo mật và khả năng tương thích.
- Kiểm tra quá trình triển khai trong quá trình phát triển và trước khi triển khai.
- Tuân thủ các phương pháp hay nhất hỗ trợ việc người dùng áp dụng và khả năng tương tác của hệ thống.
Những phương pháp này giúp bạn mang đến trải nghiệm mượt mà và an toàn cho người dùng cuối.
Đăng ký khoá truy cập
Để chuyển đổi mượt mà từ mật khẩu sang khoá truy cập trên trang web của bạn, điều quan trọng là phải có khả năng đăng ký khoá truy cập tinh vi. Hãy làm theo hướng dẫn được mô tả trong bài viết Tạo khoá truy cập cho hoạt động đăng nhập không cần mật khẩu để tạo tính năng đăng ký khoá truy cập trên trang web của bạn. Ngoài các tính năng đăng ký khoá truy cập cơ bản, bạn nên kiểm tra những điều sau:
✅ Chỉ định "platform" làm giá trị đính kèm trình xác thực để truyền đến
navigator.credentials.create() cho quá trình tạo khoá truy cập được quảng bá.
- Cung cấp quy trình tạo khoá truy cập được tối ưu hoá và liền mạch cho những người đang tạo khoá truy cập một cách phản ứng.
✅ Xác minh người dùng bằng phương thức xác thực mạnh nhất hiện có để họ có thể sử dụng trước khi cho phép họ tạo khoá truy cập.
- Điều này rất quan trọng để ngăn kẻ tấn công tạo khoá truy cập trên một tài khoản bị xâm nhập.
✅ Ngăn việc tạo khoá truy cập trùng lặp cho cùng một nhà cung cấp khoá truy cập bằng cách sử dụng
excludeCredentials.
- Nhiều nhà cung cấp khoá truy cập chỉ chấp nhận một khoá truy cập cho mỗi tài khoản và mã nhận dạng bên dựa vào (RP ID). Tránh tạo bản sao.
✅ Sử dụng AAGUID để xác định nhà cung cấp khoá truy cập và đặt tên cho thông tin xác thực cho người dùng.
- Liên kết khoá truy cập với nhà cung cấp khoá truy cập là một cách trực quan để trình bày thông tin xác thực ở những nơi có thể.
✅ Báo hiệu nếu một nỗ lực đăng ký khoá truy cập không thành công bằng
PublicKeyCredential.signalUnknownCredential().
- Khoá truy cập bị lạc có thể gây nhầm lẫn. Hãy cho nhà cung cấp khoá truy cập biết nếu máy chủ không đăng ký được khoá truy cập.
✅ Gửi thông báo cho người dùng sau khi tạo và đăng ký khoá truy cập cho tài khoản của họ.
- Đảm bảo người dùng biết về việc tạo khoá truy cập, đặc biệt là khi người khác thực hiện việc này.
Xác thực bằng khoá truy cập
Việc đáp ứng cả người dùng mật khẩu và người dùng khoá truy cập mà không gây ra sự bất tiện tối thiểu có thể là một thách thức. Hãy làm theo hướng dẫn được mô tả trong bài viết Đăng nhập bằng khoá truy cập thông qua tính năng tự động điền biểu mẫu để tạo tính năng tự động điền biểu mẫu khoá truy cập trên trang web của bạn. Ngoài các tính năng xác thực khoá truy cập cơ bản, bạn nên kiểm tra những điều sau:
✅ Cho phép người dùng đăng nhập bằng khoá truy cập thông qua tính năng tự động điền biểu mẫu.
- Nếu trang web của bạn đang chuyển đổi từ mật khẩu sang khoá truy cập, thì phương pháp tốt nhất để đáp ứng cả người dùng là sử dụng tính năng tự động điền biểu mẫu của trình duyệt.
✅ Báo hiệu khi không tìm thấy thông tin xác thực khớp với khoá truy cập trên phần phụ trợ bằng
PublicKeyCredential.signalUnknownCredential().
- Khoá truy cập bị lạc có thể gây nhầm lẫn. Hãy cho nhà cung cấp khoá truy cập biết khoá truy cập nào không sử dụng được để nhà cung cấp có thể xoá khoá truy cập đó.
✅ Nhắc người dùng tự tạo khoá truy cập nếu người dùng chưa tạo khoá truy cập sau khi đăng nhập.
- Nếu người dùng chưa tạo khoá truy cập, hãy khuyến khích họ tạo khoá truy cập.
✅ Tự động tạo khoá truy cập (tạo có điều kiện) sau khi người dùng đăng nhập bằng mật khẩu (và yếu tố thứ hai).
- Đẩy nhanh quá trình người dùng áp dụng khoá truy cập.
✅ Nhắc tạo khoá truy cập cục bộ nếu người dùng đã đăng nhập bằng khoá truy cập trên nhiều thiết bị.
- Việc tạo khoá truy cập cục bộ giúp người dùng đăng nhập mà không cần quét mã QR từ lần sau.
✅ Báo hiệu danh sách khoá truy cập hiện có và thông tin chi tiết cập nhật của người dùng (tên người dùng, tên hiển thị) cho nhà cung cấp sau khi đăng nhập
- Việc duy trì danh sách khoá truy cập và thông tin chi tiết của người dùng được đồng bộ hoá giữa máy chủ và nhà cung cấp khoá truy cập giúp cải thiện trải nghiệm người dùng.
Quản lý khoá truy cập
Việc giúp người dùng nắm bắt rõ về khoá truy cập sẽ giúp họ hiểu rõ hơn về bối cảnh và kiểm soát khoá truy cập. Hãy làm theo hướng dẫn được mô tả trong Giúp người dùng quản lý khoá truy cập một cách hiệu quả để tạo tính năng quản lý khoá truy cập trên trang web của bạn. Sau đây là những điều bạn nên kiểm tra:
✅ Cho phép người dùng quản lý khoá truy cập trong trang quản lý khoá truy cập.
- Tạo một nơi tập trung để người dùng có thể quản lý khoá truy cập của họ.
✅ Hỗ trợ đăng ký nhiều khoá truy cập.
- Khả năng đăng ký nhiều khoá truy cập giúp người dùng ngăn chặn việc bị khoá mà không cần quay lại phương thức xác thực yếu hơn.
✅ Cho phép người dùng thêm các loại khoá truy cập mới và linh hoạt passkeys trên trang quản lý.
- Đặt tên cho khoá truy cập dựa trên AAGUID và cung cấp hình ảnh trực quan hữu hình về khoá truy cập của người dùng.
✅ Cho biết liệu khoá truy cập có thể đồng bộ hoá hay không thể đồng bộ hoá.
- Thông báo cho người dùng khi khoá truy cập không được đồng bộ hoá.
✅ Cho phép người dùng xoá khoá công khai khỏi máy chủ.
✅ Báo hiệu danh sách khoá truy cập khi khoá công khai được liên kết bị xoá khỏi máy chủ.
- Việc duy trì danh sách khoá truy cập được đồng bộ hoá giữa máy chủ và nhà cung cấp khoá truy cập giúp cải thiện trải nghiệm người dùng.
Các yếu tố cần cân nhắc khác
✅ Báo hiệu thông tin chi tiết cập nhật của người dùng (tên người dùng, tên hiển thị) khi người dùng cập nhật thông tin đó.
✅ Tạo khoá truy cập thay vì mật khẩu mới khi người dùng "Quên mật khẩu".