Xác thực trên nhiều hệ số hình dạng

Trình quản lý thông tin xác thực giúp đơn giản hoá quy trình xác thực trên toàn bộ hệ sinh thái Android. Trình quản lý này mang đến trải nghiệm nhất quán cho người dùng và một nền tảng API hợp nhất để nhà phát triển sử dụng khoá truy cập, mật khẩu và cơ chế đăng nhập liên kết như Đăng nhập bằng Google. Mặc dù giao diện lập trình cốt lõi vẫn nhất quán trên các hệ số hình dạng, nhưng mỗi hệ số hình dạng lại có những điểm cần cân nhắc riêng về giao diện người dùng và trải nghiệm người dùng. Để triển khai thành công, bạn cần điều chỉnh quy trình xác thực của ứng dụng cho phù hợp với các phương thức nhập, kích thước màn hình và bối cảnh người dùng cụ thể của từng thiết bị.

Hướng dẫn này cung cấp thông tin tổng quan về cách triển khai Trình quản lý thông tin xác thực trên các hệ số hình dạng Android, nêu bật Những điểm chính cần xem xét và liên kết đến tài liệu chi tiết hơn.

Thiết bị di động

Thiết bị di động, bao gồm điện thoại, máy tính bảng và thiết bị có thể gập lại, là mục tiêu phổ biến nhất để phát triển cho Android. Việc triển khai Trình quản lý thông tin xác thực tiêu chuẩn rất phù hợp với các thiết bị này, thường có màn hình cảm ứng và bàn phím trên thiết bị. Trải nghiệm người dùng trên hệ số hình dạng này đóng vai trò là đường cơ sở để bạn điều chỉnh cho phù hợp với các hệ số hình dạng khác. Quy trình xác thực phải phù hợp với hệ số hình dạng và sử dụng đầy đủ các tính năng của màn hình thiết bị và phương thức nhập.

Wear OS

Thiết bị Wear OS có màn hình nhỏ và phương thức nhập trên thiết bị hạn chế. Việc triển khai khoá truy cập của Trình quản lý thông tin xác thực cung cấp một môi trường an toàn để người dùng đăng nhập vào ứng dụng mà không cần điện thoại được ghép nối và không cần nhớ mật khẩu.

API cho Wear OS giống với API cho thiết bị di động, vì vậy, bạn có thể sử dụng lại quy trình tích hợp hiện có cho thiết bị di động. Ngoài khoá truy cập, tính năng Đăng nhập bằng Google và mật khẩu bằng Trình quản lý thông tin xác thực, bạn có thể sử dụng các phương pháp xác thực khác, bao gồm cả tính năng Chia sẻ mã thông báo lớp dữ liệu, OAuth hoặc các giải pháp hiện có. Bạn có thể sử dụng các phương thức này làm phương án dự phòng trong khi chuyển người dùng sang Trình quản lý thông tin xác thực hoặc trong trường hợp Chia sẻ mã thông báo lớp dữ liệu, làm giải pháp lâu dài.

Để sử dụng Trình quản lý thông tin xác thực cho Wear OS, bạn phải đáp ứng các yêu cầu sau:

  • Cấp độ API tối thiểu: minSdkVersion 33 trở lên
    • Hỗ trợ mật khẩu, khoá truy cập và tính năng Đăng nhập bằng Google
  • Phiên bản GMS: Giống như yêu cầu đối với ứng dụng di động

Giao diện người dùng trên thiết bị Wear OS như sau:

Màn hình đăng nhập bằng khoá truy cập được hiển thị dưới dạng phương pháp xác thực ưu tiên trên Wear OS.
Hình 1a. Khoá truy cập.
Khoá truy cập, mật khẩu và các lựa chọn Đăng nhập bằng Google dành cho người dùng trên Wear OS.
Hình 1b. Khoá truy cập, mật khẩu và tính năng Đăng nhập bằng Google.

Để biết hướng dẫn chi tiết về cách triển khai và mã mẫu, hãy xem các tài nguyên sau:

Các điểm hạn chế

Việc sử dụng Trình quản lý thông tin xác thực trên Wear OS có các điểm hạn chế sau:

Android XR

Với Android XR (bao gồm cả thực tế ảo và thực tế tăng cường), các ứng dụng sẽ hiển thị trong không gian 3D. Phương thức nhập của người dùng về cơ bản khác với các phương thức nhập trong các hệ số hình dạng khác, dựa vào các phương thức nhập tự nhiên như cử chỉ tay.

Việc điều chỉnh Trình quản lý thông tin xác thực cho XR có nghĩa là bạn cần xem xét lại giao diện người dùng xác thực (dù là bằng khoá truy cập, mật khẩu hay phương thức đăng nhập liên kết) cho không gian 3D. Ví dụ: lời nhắc xác thực xuất hiện trong các bảng điều khiển nổi và người dùng chọn bằng cử chỉ tay. Bạn cũng cần cân nhắc mọi điều kiện tiên quyết cụ thể về phần cứng hoặc phần mềm cho các thiết bị XR mục tiêu.

Một thách thức quan trọng trong thiết kế là tạo ra trải nghiệm xác thực trực quan và an toàn trong môi trường VR hoặc AR. Bạn cũng phải cân nhắc cách quản lý danh tính trong các tình huống XR nhiều người dùng, trong đó nhiều người có thể sử dụng cùng một thiết bị.

Để sử dụng Trình quản lý thông tin xác thực cho Android XR, bạn phải đáp ứng các yêu cầu sau:

  • Cấp độ API tối thiểu: minSdkVersion 34 trở lên
  • Phiên bản GMS: Giống như yêu cầu đối với ứng dụng di động
  • Trình mô phỏng:
    • Hình ảnh hệ thống tối thiểu của trình mô phỏng:
      • macOS: Google Play XR ARM 64 Phiên bản 7 của hình ảnh hệ thống v8a
      • Windows: Google Play XR Intel x86_64 Phiên bản 7 của hình ảnh hệ thống Atom
    • Các phiên bản trình mô phỏng cao hơn 35.6.11 (Ổn định)

Trải nghiệm đăng nhập trên XR có thể như sau:

Lời nhắc đăng nhập của Trình quản lý thông tin xác thực xuất hiện trong một bảng điều khiển 3D nổi trong Android XR.
Hình 2. Giao diện người dùng Trình quản lý thông tin xác thực trong XR.

Các quy trình mà XR không hỗ trợ

Trình quản lý thông tin xác thực trong Android XR không hỗ trợ các quy trình xác thực yêu cầu một thiết bị khác quét mã QR. Bạn có thể quan sát thấy điều này trong quá trình đăng nhập trên tai nghe XR và khi kiểm thử bằng trình mô phỏng.

Để tìm hiểu thêm về XR, hãy xem bài viết Android XR.

Android TV

Thiết bị Android TV thường là thiết bị dùng chung, được xem từ xa và được điều hướng bằng bộ điều khiển từ xa có D-pad. Người dùng có thể gặp khó khăn khi nhập tên người dùng và mật khẩu trong môi trường này. Trình quản lý thông tin xác thực giúp đơn giản hoá quy trình xác thực trên Android TV bằng cách hỗ trợ tính năng Đăng nhập bằng Google, mật khẩu đã lưu và khoá truy cập trên nhiều thiết bị. Vì thường có nhiều Hồ sơ trên Google trên một TV dùng chung, nên Trình quản lý thông tin xác thực sẽ điều chỉnh cho phù hợp với chế độ cài đặt dùng chung này bằng cách tìm nạp và hiển thị tất cả thông tin xác thực có trên thiết bị, thay vì chỉ giới hạn các lựa chọn cho tài khoản hiện đang hoạt động.

Lời nhắc đăng nhập của Trình quản lý thông tin xác thực trên Android TV, hiển thị các tài khoản đã lưu cho tính năng Đăng nhập bằng Google và mật khẩu, cùng với lựa chọn sử dụng khoá truy cập.
Hình 3. Giao diện người dùng Trình quản lý thông tin xác thực trên Android TV cho thấy các lựa chọn Đăng nhập bằng Google, mật khẩu đã lưu và khoá truy cập.

Bản chất dùng chung này cũng quyết định cách xử lý khoá truy cập. Vì TV không có Hệ số kiến thức về màn hình khoá (LSKF) cá nhân, nên khoá truy cập không được lưu trữ hoặc tạo trực tiếp trên TV. Thay vào đó, quy trình xác thực bằng khoá truy cập tận dụng quy trình kết hợp trên nhiều thiết bị, trong đó mã QR được trình bày trên TV và người dùng quét mã đó bằng thiết bị di động để hoàn tất quy trình xác thực bằng sinh trắc học.

Bạn có thể thực hiện quy trình không cần nhấp chuột trên Google TV nếu đặt isAutoSelectAllowed = true, nhưng chỉ khi có đúng một thông tin xác thực phù hợp. Bảng dưới cùng của TV gốc vẫn sẽ xuất hiện, cho thấy thông tin xác nhận tài khoản của người dùng. Nếu người dùng không huỷ, thông tin xác thực sẽ tự động được trả về mà không cần nhấp chuột từ xa. Nếu có nhiều thông tin xác thực phù hợp, hệ thống sẽ không tự động chọn và thay vào đó, người dùng sẽ được nhắc chọn.

Nếu ứng dụng di động và ứng dụng truyền hình của bạn có cùng tên gói Android và khoá ký, thì Trình quản lý mật khẩu của Google sẽ nhận dạng các ứng dụng đó là cùng một danh tính ứng dụng. Do đó, mật khẩu được lưu trên thiết bị di động có thể được cung cấp trực tiếp trên TV mà không cần định cấu hình Đường liên kết đến tài sản kỹ thuật số (asset_statements). Bạn chỉ cần Đường liên kết đến tài sản kỹ thuật số khi chia sẻ thông tin xác thực trên các ranh giới, chẳng hạn như giữa ứng dụng và trang web hoặc trên các ứng dụng có tên gói khác nhau.

Để sử dụng Trình quản lý thông tin xác thực cho Android TV, bạn phải đáp ứng các yêu cầu sau:

  • Cấp độ API tối thiểu: Android 14 (API cấp 34, minSdkVersion 34) trở lên
  • Phiên bản GMS: 2026W30 trở lên
  • Phần cứng cho khoá truy cập: Bạn cần có một thiết bị di động phụ có camera và Bluetooth để quét mã QR và hoàn tất quy trình kết hợp FIDO

Các điểm hạn chế

Vì Android TV là thiết bị dùng chung, nên việc sử dụng Trình quản lý thông tin xác thực trên nền tảng này có các điểm hạn chế có chủ ý sau đây để bảo vệ quyền riêng tư và bảo mật của người dùng:

  • Không tạo hoặc lưu trữ khoá truy cập cục bộ: Bạn không thể tạo hoặc lưu trữ khoá truy cập trực tiếp trên TV. Vì không hỗ trợ thông tin xác thực cục bộ, nên đừng đặt preferImmediatelyAvailableCredentials thành true trong các yêu cầu; nếu làm như vậy, hệ thống sẽ lọc khoá truy cập trên nhiều thiết bị và không trả về thông tin xác thực.
  • Không có trình cung cấp thông tin xác thực bên thứ ba: Android TV không hỗ trợ tính năng tự động điền, vì vậy, bạn không thể sử dụng trình quản lý mật khẩu bên thứ ba trên nền tảng này. Người dùng phải sử dụng Trình quản lý mật khẩu của Google.
  • Không có tính năng Khôi phục thông tin đăng nhập: Android TV không hỗ trợ tính năng tự động đăng nhập vào thiết bị mới bằng tính năng Giới thiệu về tính năng Khôi phục thông tin đăng nhập.

Để tìm hiểu thêm về quá trình phát triển cho TV, hãy xem bài viết Tổng quan về Android TV.

Android Automotive OS

Thiết bị Android Automotive OS (AAOS) là hệ thống dùng chung được tích hợp vào xe. Để điều chỉnh Trình quản lý thông tin xác thực cho AAOS, bạn cần hỗ trợ quy trình xác thực an toàn (thường là khi xe đang đỗ) và đáp ứng nhiều hồ sơ người dùng trên một thiết bị dùng chung.

Nếu bạn đưa một ứng dụng được tối ưu hoá cho màn hình lớn hoặc máy tính bảng vào ô tô và ứng dụng đó đã hỗ trợ Trình quản lý thông tin xác thực và khoá truy cập trên thiết bị di động hoặc máy tính bảng, thì ứng dụng đó sẽ hoạt động trên Android Automotive OS mà không cần thay đổi quy trình xác thực.

Quy trình xác thực trên Android Automotive OS hỗ trợ các phương thức sau:

  • Khoá truy cập (quy trình kết hợp trên nhiều thiết bị): Người dùng có thể xác thực bằng khoá truy cập hiện có thông qua quy trình trên nhiều thiết bị. Hệ thống sẽ hiển thị mã QR trên màn hình ô tô mà người dùng quét bằng thiết bị di động. Vì quy trình xác minh sinh trắc học và khoá màn hình diễn ra trên điện thoại của người dùng, nên người dùng không cần định cấu hình khoá màn hình trên màn hình ô tô.
  • Đăng nhập bằng Google: Hiển thị trực tiếp màn hình Đăng nhập bằng Google gốc trên màn hình ô tô.
  • Mật khẩu đã lưu: Người dùng có thể truy xuất mật khẩu đã lưu từ Trình quản lý mật khẩu của Google để đăng nhập mà không cần nhập thông tin xác thực theo cách thủ công trên màn hình ô tô.
Lời nhắc về khoá truy cập của Trình quản lý thông tin xác thực xuất hiện trên màn hình trong xe trên Android Automotive OS.
Hình 5. Lời nhắc về khoá truy cập của Trình quản lý thông tin xác thực trên Android Automotive OS.

Android Automotive OS quản lý các phiên và thông tin xác thực theo từng hồ sơ, tách biệt dữ liệu phiên dành riêng cho người dùng giữa các hồ sơ (ví dụ: Hồ sơ A, Hồ sơ B hoặc hồ sơ khách).

Để sử dụng Trình quản lý thông tin xác thực cho Android Automotive OS, bạn phải đáp ứng các yêu cầu sau:

  • Cấp độ API tối thiểu: Android 9 (API cấp 28, minSdkVersion 28) trở lên. Để truy xuất khoá truy cập trên nhiều thiết bị, bạn cần có Android 14 (cấp độ API 34) trở lên.
  • Phiên bản GMS: Giống như yêu cầu đối với ứng dụng di động.

Các điểm hạn chế khi kiểm thử

Để kiểm thử khoá truy cập, bạn cần có một thiết bị thực chạy bản dựng Android Automotive OS làm nền tảng chính. Để biết hướng dẫn thiết lập, hãy xem bài viết Kiểm thử bằng Android Automotive OS trên Pixel Tablet. Bạn không thể sử dụng trình mô phỏng để kiểm thử khoá truy cập vì trình mô phỏng không hỗ trợ Bluetooth năng lượng thấp (BLE), cần thiết cho quy trình kết hợp FIDO.

Các điểm hạn chế và quy trình không được hỗ trợ

Việc sử dụng Trình quản lý thông tin xác thực trên Android Automotive OS có các điểm hạn chế sau:

  • Không lưu trữ hoặc truy xuất khoá truy cập cục bộ: Hệ thống không hỗ trợ việc truy xuất khoá truy cập cục bộ trực tiếp vì ô tô là thiết bị dùng chung. Việc đồng bộ hoá khoá truy cập trực tiếp với ô tô gây ra rủi ro bảo mật, vì vậy, bạn phải sử dụng khoá truy cập thông qua quy trình kết hợp trên nhiều thiết bị.
  • Không hỗ trợ thông tin xác thực có sẵn ngay lập tức: Nếu ứng dụng của bạn yêu cầu khoá truy cập và đặt preferImmediatelyAvailableCredentials thành true, thì giao diện người dùng ô tô sẽ kết thúc ngay lập tức và gửi NoCredentialException. Hãy cung cấp trải nghiệm người dùng dự phòng phù hợp cho trường hợp này.
  • Không có trình cung cấp thông tin xác thực bên thứ ba: Android Automotive OS không hỗ trợ trình quản lý mật khẩu bên thứ ba. Người dùng phải sử dụng Trình quản lý mật khẩu của Google hoặc quy trình kết hợp trên nhiều thiết bị để xác thực.
  • Không tạo mật khẩu đã lưu: API không hỗ trợ việc tạo và lưu mật khẩu đã lưu mới trực tiếp từ giao diện ô tô. Bạn chỉ có thể tạo thông tin xác thực cho khoá truy cập mới bằng quy trình kết hợp FIDO.

Để tìm hiểu thêm về quá trình phát triển cho Automotive OS, hãy xem bài viết Tổng quan về Android Automotive OS.

Tài nguyên khác