Khoá truy cập an toàn và liền mạch: Danh sách kiểm tra triển khai

Khoá truy cập được thiết kế để mang đến một trải nghiệm đăng nhập hoàn toàn mới, cung cấp 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. Bạn có thể sử dụng kỹ thuật này để:

  • Xác thực rằng cách triển khai của bạn tuân thủ các phương pháp hay nhất hiện nay về trải nghiệm người dùng liên quan đến khoá truy cập, như 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 hữu dụng, tính bảo mật và khả năng tương thích.
  • Kiểm tra cách triển khai của bạn trong quá trình phát triển và trước khi triển khai.
  • Điều chỉnh theo các phương pháp hay nhất hỗ trợ người dùng sử dụng và khả năng tương tác của hệ thống.

Các tính năng này giúp bạn mang đến trải nghiệm an toàn và mượt mà cho người dùng cuối.

Đăng ký khoá truy cập

Để chuyển đổi suôn sẻ từ mật khẩu sang khoá truy cập trên trang web của bạn, bạn cần có khả năng đăng ký khoá truy cập tinh vi. 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ị tệp đính kèm trình xác thực để truyền đến navigator.credentials.create() nhằm 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à không gây phiền hà cho những người đang tạo khoá truy cập một cách linh động.

✅ Xác minh người dùng bằng phương thức xác thực mạnh nhất mà 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 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ỉ hỗ trợ một khoá truy cập cho mỗi tài khoản và mã nhận dạng RP. Tránh tạo nội dung trùng lặp.

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 của người dùng.

  • Việc 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 khi có thể.

✅ Báo hiệu nếu không đăng ký được khoá truy cập bằng PublicKeyCredential.signalUnknownCredential().

  • Khoá truy cập lạc đường có thể gây nhầm lẫn. 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 rằng khoá truy cập đang được tạo, đặc biệt là khi khoá truy cập do người khác tạo.

Xác thực bằng khoá truy cập

Việc hỗ trợ 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ự phiền hà tối thiểu có thể là một thách thức. 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 khoá truy cập vào biểu mẫu trên trang web của bạn. Dưới đây là những điều bạn nên kiểm tra ngoài các tính năng xác thực bằng khoá truy cập cơ bản:

✅ 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 vào 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ì cách tốt nhất để phục vụ cả hai 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.

✅ Tín 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 lạc đường có thể gây nhầm lẫn. Cho nhà cung cấp khoá truy cập biết khoá truy cập nào không dùng được để nhà cung cấp có thể xoá khoá truy cập đó.

✅ Nhắc người dùng tạo khoá truy cập theo cách thủ công 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à một yếu tố thứ hai).

  • Đẩy nhanh việc người dùng sử dụng khoá truy cập.

✅ Nhắc người dùng 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 tiếp theo.

Gửi tín hiệu về danh sách khoá truy cập có sẵnthông tin chi tiết mới 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 đồng bộ hoá danh sách khoá truy cập và thông tin chi tiết về người dùng giữa máy chủ và trình cung cấp khoá truy cập sẽ 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 rõ khoá truy cập sẽ giúp họ hiểu rõ hơn về bối cảnh và có quyền kiểm soát khoá truy cập. Làm theo hướng dẫn được mô tả trong bài viết Giúp người dùng quản lý khoá truy cập một cách hiệu quả để xây dựng 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 trên trang quản lý.

✅ Hiển thị tên khoá truy cập.

  • Đặt tên khoá truy cập dựa trên AAGUID và cung cấp hình ảnh cụ thể về khoá truy cập của người dùng.

✅ Cho biết khoá truy cập có 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 một khoá công khai được liên kết bị xoá khỏi máy chủ.

  • Việc đồng bộ hoá danh sách khoá truy cập giữa máy chủ và trình cung cấp khoá truy cập sẽ cải thiện trải nghiệm người dùng.
Ví dụ về trang quản lý khoá truy cập thể hiện các phương pháp hay.
Ví dụ về trang quản lý khoá truy cập cho thấy các phương pháp hay.

Các yếu tố cần cân nhắc khác

Gửi tín hiệu 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ị) 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".

Tài nguyên