Khoá truy cập đang nhanh chóng trở thành một giải pháp thay thế an toàn, dễ dàng và nhanh chóng hơn cho mật khẩu, mang lại khả năng bảo mật nâng cao và sự tiện lợi cho người dùng. Để khai thác tối đa tiềm năng của khoá truy cập, bạn phải cân nhắc kỹ lưỡng đến trải nghiệm người dùng liên quan đến việc quản lý khoá truy cập. Tài liệu này trình bày các nguyên tắc và tính năng không bắt buộc để thiết kế một hệ thống quản lý khoá truy cập trực quan, an toàn và mạnh mẽ.
Quản lý nhiều khoá truy cập
Cho phép người dùng thêm nhiều khoá truy cập và sử dụng nhiều nhà cung cấp. Tuy nhiên, đừng cho phép họ thêm nhiều khoá truy cập cho cùng một tài khoản với cùng một nhà cung cấp. Nếu người dùng mất quyền truy cập vào một nhà cung cấp, chẳng hạn như khi nền tảng không hỗ trợ nhà cung cấp đó hoặc người dùng mất quyền truy cập vào nhà cung cấp đó, thì họ vẫn có thể đăng nhập bằng một khoá truy cập khác của một nhà cung cấp khác. Chế độ thiết lập này giúp giảm nguy cơ bị khoá tài khoản. Đảm bảo cơ sở dữ liệu của bạn hỗ trợ lưu trữ nhiều khoá truy cập cho mỗi người dùng.
Hiển thị danh sách khoá truy cập đã đăng ký
Trang web hoặc ứng dụng của bạn phải hiển thị khoá truy cập đã đăng ký trong một danh sách có thông tin chi tiết chính để giúp người dùng quản lý khoá truy cập một cách hiệu quả. Ảnh chụp màn hình này minh hoạ giao diện của một trang quản lý khoá truy cập chuyên dụng. Ứng dụng này cho thấy cách người dùng có thể tạo khoá truy cập trên nhiều nền tảng và cung cấp một nơi tập trung để quản lý các khoá truy cập đó.

Dưới đây là một số thông tin chi tiết và tính năng phổ biến mà trang web và ứng dụng có thể hiển thị về khoá truy cập:
- Tên khoá truy cập: Hiển thị tên khoá truy cập được cung cấp tại thời điểm đăng ký. Tốt nhất là tên này khớp với trình cung cấp khoá truy cập mà tên này được tạo dựa trên AAGUID. Nếu không tìm thấy nhà cung cấp khoá truy cập phù hợp, bạn có thể đặt tên theo thông tin thiết bị dựa trên chuỗi tác nhân người dùng.
- Biểu trưng của nhà cung cấp khoá truy cập: Hiển thị biểu trưng của nhà cung cấp khoá truy cập. Điều này giúp người dùng xác định khoá truy cập mà họ muốn quản lý.
- Dấu thời gian tạo khoá truy cập và thời điểm sử dụng khoá truy cập gần đây nhất: Việc ghi lại và hiển thị dấu thời gian tạo khoá truy cập và dấu thời gian sử dụng gần đây nhất cũng có thể giúp người dùng xác định khoá truy cập mà họ muốn quản lý.
- Chỉ báo không đồng bộ hoá: Khoá truy cập được đồng bộ hoá theo mặc định, nhưng tính năng đồng bộ hoá của trình cung cấp khoá truy cập vẫn đang phát triển. Đây là sự nhầm lẫn thường gặp khi khoá truy cập không đồng bộ hoá mặc dù người dùng mong đợi điều đó. Việc cho thấy khoá truy cập không thể đồng bộ hoá có thể giúp người dùng làm rõ sự nhầm lẫn này.
- Nút xoá: Cho phép người dùng xoá khoá truy cập. Hãy xem phần Cho phép xoá khoá truy cập để biết thêm thông tin chi tiết.
- Nút Chỉnh sửa: Nhiều người dùng muốn có thể đổi tên khoá truy cập. Ví dụ: khi có nhiều khoá truy cập của cùng một nhà cung cấp khoá truy cập nhưng có nhiều tài khoản nhà cung cấp. Hãy tưởng tượng bạn lưu nhiều khoá truy cập vào nhiều Tài khoản Google. Bằng cách cho phép người dùng đổi tên khoá truy cập, họ có thể thay đổi khoá truy cập thành tên mà họ muốn.
- Trình duyệt, hệ điều hành hoặc địa chỉ IP đăng nhập gần đây nhất: Bạn có thể cung cấp thông tin chi tiết về lần đăng nhập gần đây nhất để giúp người dùng xác định các lần đăng nhập đáng ngờ. Trình duyệt, hệ điều hành hoặc địa chỉ IP (hoặc vị trí) dùng để đăng nhập có thể là thông tin hữu ích.
Cho phép xoá khoá truy cập
Cho phép người dùng xoá khoá truy cập. Điều này giúp họ dọn dẹp danh sách, ví dụ: khi người dùng chuyển sang một thiết bị mới nhưng khoá truy cập được liên kết lại được liên kết với thiết bị cũ. Điều này cũng hữu ích khi kẻ tấn công xâm nhập vào tài khoản người dùng và tạo khoá truy cập để sử dụng trong tương lai.
Báo hiệu danh sách khoá truy cập đã cập nhật
Thao tác xoá khoá truy cập sẽ xoá mục thông tin xác thực và khoá công khai của khoá truy cập đó khỏi cơ sở dữ liệu máy chủ. Bằng cách này, khoá truy cập sẽ biến mất khỏi danh sách khoá truy cập đã đăng ký và người dùng sẽ thấy khoá truy cập đã bị xoá. Tuy nhiên, trong thực tế, khoá truy cập chỉ bị xoá khỏi máy chủ và khoá truy cập được lưu trữ vào trình cung cấp khoá truy cập vẫn còn, điều này có thể gây nhầm lẫn. Vào lần tiếp theo người dùng cố gắng đăng nhập, khoá truy cập đã xoá vẫn sẽ xuất hiện dưới dạng một tuỳ chọn đăng nhập. Tuy nhiên, bạn sẽ không xác thực được bằng khoá này vì khoá công khai trùng khớp đã bị xoá khỏi máy chủ.
Để tránh nhầm lẫn, bạn cần phải đảm bảo khoá truy cập trên trình cung cấp khoá truy cập và khoá công khai trên máy chủ luôn nhất quán. Bạn có thể thực hiện việc này bằng cách gửi danh sách khoá truy cập đã cập nhật cho trình cung cấp khoá truy cập. Nếu trình duyệt và nhà cung cấp khoá truy cập hỗ trợ Signal API, thì chúng có thể cập nhật danh sách khoá truy cập và xoá các khoá truy cập không cần thiết. Nếu ứng dụng không hỗ trợ API, hãy khuyến khích người dùng xoá khoá truy cập theo cách thủ công.
Xoá khoá truy cập gần đây nhất
Nếu người dùng cố gắng xoá khoá truy cập cuối cùng còn lại cho một tài khoản nhất định, hãy đảm bảo rằng họ hiểu rằng họ sẽ phải đăng nhập bằng một phương thức khác gây phiền toái hơn và có thể bảo vệ kém hơn. Nếu đây là phương thức đăng nhập duy nhất của họ vào trang web của bạn, thì họ sẽ không thể đăng nhập lại. Thông báo cho người dùng về cách đăng nhập vào lần tới, chẳng hạn như sử dụng phương thức sao lưu (nếu có) hoặc nhắc họ đăng ký một khoá truy cập khác trước khi tiếp tục. Đây là cơ hội tốt để thu thập ý kiến phản hồi về lý do họ chọn không sử dụng khoá truy cập.
Cho phép tạo khoá truy cập mới
Mặc dù có nhiều cơ hội để tạo khoá truy cập trong suốt hành trình của người dùng (chẳng hạn như ngay sau khi đăng nhập), nhưng điều quan trọng là phải có một trung tâm mà người dùng luôn có thể truy cập để tạo khoá truy cập mới, xoá khoá truy cập và quản lý khoá truy cập. Màn hình quản lý khoá truy cập là nơi tốt nhất để thực hiện việc đó.
Để tạo luồng người dùng khoá truy cập, hãy làm theo Hướng dẫn dành cho nhà phát triển về cách Tạo khoá truy cập cho tính năng đăng nhập không cần mật khẩu. Để tăng cường bảo mật, hãy cân nhắc cho phép người dùng tạo khoá truy cập trên mã thông báo bảo mật phần cứng. Bạn có thể cho rằng những người dùng sẵn sàng quản lý khoá truy cập sẽ có nhiều kiến thức hoặc kinh nghiệm hơn. Vì vậy, việc cho phép họ tạo khoá truy cập trên khoá bảo mật sẽ giúp tăng tính linh hoạt.
Để cho phép lưu khoá truy cập vào mã thông báo bảo mật phần cứng, hãy để authenticatorSelection.authenticatorAttachment
không được đặt thay vì đặt thành "platform"
trên yêu cầu tạo khoá truy cập. Bằng cách này, trình duyệt chấp nhận cả trình xác thực nền tảng (thiết bị) và trình xác thực chuyển vùng (khoá bảo mật) mà trải nghiệm người dùng không khác biệt đáng kể so với việc chỉ cho phép trình xác thực nền tảng. Lựa chọn tạo khoá truy cập trên khoá bảo mật sẽ xuất hiện dưới dạng một lựa chọn phụ.
Danh sách 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.
- Hỗ trợ đăng ký nhiều khoá truy cập.
- 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.
- Cho biết khoá truy cập có thể đồng bộ hoá hay không.
- 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ủ.
Các hướng dẫn khác về trải nghiệm người dùng
- Hướng dẫn chung về trải nghiệm người dùng với khoá truy cập
- Hướng dẫn về Android