FedCM: API liên kết danh tính bảo đảm quyền riêng tư

Trang này giải thích lợi ích của FedCM, những đối tượng nên cân nhắc triển khai FedCM và cách người dùng tương tác với FedCM.

Quản lý thông tin xác thực liên kết (FedCM) là một phương pháp tập trung vào quyền riêng tư và thân thiện với người dùng đối với các dịch vụ nhận dạng liên kết (chẳng hạn như Đăng nhập bằng Nhà cung cấp danh tính) không dựa vào cookie của bên thứ ba hoặc lệnh chuyển hướng điều hướng.

Với FedCM, người dùng sẽ được giới thiệu một cách mới để xác thực trên một trang web bằng nhà cung cấp danh tính bên thứ ba.

Liên kết danh tính là gì

Liên minh danh tính uỷ quyền xác thực hoặc uỷ quyền cho một cá nhân (người dùng hoặc pháp nhân) cho một nhà cung cấp danh tính bên ngoài đáng tin cậy (IdP). Sau đó, IdP cho phép cá nhân đăng nhập vào trang web của bên phụ thuộc (RP). Với tính năng liên kết danh tính, RP dựa vào IdP để cung cấp cho người dùng một tài khoản mà không yêu cầu tên người dùng và mật khẩu mới.

Với các giải pháp nhận dạng liên kết, người dùng không phải tạo một bộ thông tin xác thực khác cho mỗi RP. Điều này giúp cải thiện trải nghiệm người dùng, giảm nguy cơ lừa đảo và giúp thu thập thông tin người dùng đã xác minh từ các nhà cung cấp danh tính đáng tin cậy.

Giải pháp truyền thống và cookie của bên thứ ba

Các cơ chế liên kết danh tính truyền thống dựa vào iframe, lệnh chuyển hướng hoặc cookie của bên thứ ba, gây ra các vấn đề về quyền riêng tư. Các giải pháp này có thể bị lợi dụng để theo dõi người dùng trên web và trình duyệt không thể phân biệt giữa các dịch vụ nhận dạng hợp pháp và hoạt động giám sát không mong muốn.

Do lo ngại về quyền riêng tư, các trình duyệt lớn đang hạn chế cookie của bên thứ ba. Điều này có thể ảnh hưởng đến một số chức năng. Thông qua nỗ lực của cộng đồng và nghiên cứu của mình, chúng tôi nhận thấy có một số tích hợp liên quan đến liên minh danh tính bị ảnh hưởng bởi các quy định hạn chế về cookie của bên thứ ba.

Liên kết thông tin nhận dạng với FedCM

FedCM nhằm mục đích cho phép các luồng xác thực quan trọng này ngay cả đối với những người dùng chọn duyệt web khi cookie của bên thứ ba bị hạn chế.

FedCM không phụ thuộc vào giao thức: bạn có thể triển khai FedCM dưới dạng một giải pháp độc lập hoặc dưới dạng một lớp bổ sung mà các giao thức khác có thể tận dụng. Ví dụ: máy chủ OAuth có chức năng có thể hưởng lợi từ trải nghiệm đăng nhập một lần do trình duyệt dàn xếp của FedCM và giao diện người dùng trực quan bằng cách triển khai các điểm cuối FedCM, sau đó trao đổi mã uỷ quyền được trả về trong phản hồi của FedCM cho mã truy cập OAuth.

Tại sao chúng ta cần FedCM?

So với các giải pháp truyền thống, giải pháp này mang lại nhiều lợi ích cho hệ sinh thái web, được thiết kế dành cho người dùng, nhà phát triển RP và IdP.

Hỗ trợ các giải pháp nhận dạng không sử dụng cookie của bên thứ ba

FedCM có thể giúp giảm sự phụ thuộc vào cookie của bên thứ ba, thường được dùng để theo dõi người dùng trên web. API này mang đến trải nghiệm đăng nhập được cá nhân hoá ngay cả cho những người dùng chọn duyệt web với cookie của bên thứ ba bị hạn chế.

FedCM cũng được tích hợp với các API Hộp cát về quyền riêng tư khác. Ví dụ: API Truy cập bộ nhớ sử dụng phương thức xác thực FedCM làm tín hiệu tin cậy. Việc tích hợp này hữu ích cho các trang web dựa vào cả FedCM để xác thực và SAA để cho phép các iframe trên nhiều nguồn gốc truy cập vào bộ nhớ cần thiết.

Cải thiện trải nghiệm người dùng

FedCM giới thiệu hộp thoại giao diện người dùng do trình duyệt dàn xếp để đơn giản hoá quy trình đăng nhập bằng một lần nhấn. API này cũng giải quyết vấn đề trang đăng nhập lộn xộn, đôi khi được gọi là vấn đề NASCAR.

Ví dụ về vấn đề NASCAR: Một trang web có giao diện người dùng lộn xộn do có 7 lựa chọn đăng nhập khác nhau.
Ví dụ về vấn đề NASCAR: Một trang web có giao diện người dùng lộn xộn do lựa chọn nhà cung cấp danh tính (IdP) quá rộng.

Thay vì một số lượng lớn các nút đăng nhập bằng mạng xã hội, FedCM cung cấp một giao diện đơn giản và thân thiện với người dùng.

Bảo mật

Phương pháp Danh tính liên kết cho phép người dùng sử dụng các tài khoản đáng tin cậy do Nhà cung cấp dịch vụ nhận dạng (IdP) quản lý. Với phương pháp này, người dùng không phải thêm thông tin xác thực vào mọi trang web. Điều này giúp giảm bề mặt cho các cuộc tấn công giả mạo. Ngoài ra, thay vì triển khai các biện pháp bảo mật mạnh mẽ của riêng mình, RP có thể dựa vào chuyên môn của các IdP chuyên về quản lý danh tính an toàn.

FedCM nhằm mục đích giúp người dùng sử dụng quy trình xác thực danh tính liên kết một cách thuận tiện hơn, khuyến khích họ ưu tiên sử dụng quy trình này thay vì các quy trình xác thực danh tính kém an toàn hơn.

Trải nghiệm được cá nhân hoá cho nhiều người dùng hơn

FedCM giúp giảm bớt sự phiền hà trong trải nghiệm người dùng trong quy trình đăng ký tài khoản. Nghiên cứu điển hình của Dịch vụ nhận dạng của Google cho thấy người dùng thích tạo tài khoản bằng quy trình Một lần nhấn của FedCM hơn là các lựa chọn đăng nhập nhiều bước.

Với FedCM, nhiều Nhà cung cấp dịch vụ nhận dạng (IdP) hơn có thể mang đến cho người dùng trải nghiệm đăng nhập một lần nhấn. Khi có nhiều nhà cung cấp danh tính hơn cung cấp quy trình xác thực danh tính một lần nhấn, người dùng có thể chọn trong số nhiều nhà cung cấp danh tính trên RP. FedCM cung cấp cơ chế lựa chọn IdP được cải tiến bằng cách trình bày cho người dùng các tài khoản phù hợp nhất.

Khi tỷ lệ đăng ký cao hơn, RP có thể cung cấp trải nghiệm được cá nhân hoá cho nhiều người dùng hơn.

Hỗ trợ nhiều Nhà cung cấp danh tính

Giao diện người dùng đơn giản của FedCM nhằm cung cấp cho người dùng danh sách các IdP có liên quan được cá nhân hoá. Với cơ chế lựa chọn IdP của FedCM, lựa chọn IdP của RP không còn bị hạn chế bởi quy mô cơ sở người dùng của IdP. Ví dụ: một số người dùng có thể chỉ có tài khoản với small-idp.example chứ không có tài khoản với bigger-idp.example.

Với tính năng Đa IDP, rp.example có thể hỗ trợ cả small-idp.examplebigger-idp.example mà không làm rối giao diện người dùng. Điều này mang lại lợi ích cho tất cả các bên:

  • Người dùng có thể chọn IdP mà họ muốn, bất kể quy mô lớn hay nhỏ.
  • RP tiếp cận nhiều người dùng hơn thông qua sự hỗ trợ của nhiều IdP
  • Các IdP có cơ sở người dùng nhỏ hơn có mặt trên nhiều RP hơn.

Ai nên sử dụng FedCM?

Chúng tôi cho rằng FedCM chỉ hữu ích cho bạn nếu bạn đáp ứng các điều kiện sau:

  • Bạn cần hỗ trợ các luồng danh tính liên kết ngay cả đối với những người dùng chọn duyệt web mà không cần cookie của bên thứ ba.
  • Bạn là một nhà cung cấp danh tính (IdP) có các RP bên thứ ba. Nếu RP là các trang web có liên quan một cách có ý nghĩa, thì bạn có thể được phân phát hiệu quả hơn bằng Bộ trang web có liên quan.
  • Bạn có giải pháp nhận dạng của riêng mình và nhiều miền dựa vào giải pháp đó.

Bạn là một IdP

FedCM yêu cầu nhà cung cấp danh tính hỗ trợ. Bên phụ thuộc không thể sử dụng FedCM một cách độc lập. Nếu là RP, bạn có thể yêu cầu IdP cung cấp hướng dẫn.

Nhiều RP

Nếu RP của bạn là bên thứ ba hoặc bạn có nhiều hơn 4 RP sử dụng giải pháp danh tính, thì FedCM là API được đề xuất cho danh tính liên kết.

Nếu bạn là một nhà cung cấp danh tính có tối đa 5 RP và các RP đó có mối quan hệ với nhà cung cấp danh tính ở bên thứ nhất, hãy cân nhắc sử dụng Bộ trang web có liên quan (RWS). RWS cho phép quyền truy cập hạn chế vào cookie của bên thứ ba trên các nhóm trang web có liên quan chặt chẽ, ngay cả khi cookie của bên thứ ba bị hạn chế.

Bạn muốn hỗ trợ quy trình liên kết danh tính không cần cookie

FedCM hỗ trợ các luồng nhận dạng liên kết thiết yếu ngay cả đối với những người dùng chọn duyệt web mà không cần cookie của bên thứ ba. Với FedCM, người dùng vẫn có thể đăng ký, đăng nhập và đăng xuất bằng tài khoản liên kết trên các RP.

Ngoài ra, FedCM đóng vai trò là tín hiệu tin cậy cho API Truy cập bộ nhớ, giúp loại bỏ sự phiền toái cho các yêu cầu truy cập bộ nhớ do IdP khởi tạo.

Kiểm tra xem tính năng liên kết danh tính của bạn có tiếp tục hoạt động cho những người dùng chọn duyệt web mà không dùng cookie của bên thứ ba hay không bằng cách chặn cookie của bên thứ ba trên Chrome. Hãy nhớ kiểm thử những tính năng đã biết mà các quy định hạn chế về cookie của bên thứ ba dự kiến sẽ ảnh hưởng.

Hoạt động tương tác của người dùng với FedCM

FedCM được thiết kế để không phụ thuộc vào giao thức xác thực và cung cấp cho người dùng một luồng mới để xác thực với một RP bằng IdP bên thứ ba. Hãy dùng thử FedCM thông qua bản minh hoạ của chúng tôi.

Đăng nhập vào một bên phụ thuộc

FedCM có hai chế độ giao diện người dùng: Thụ độngChủ động.

Chế độ thụ động. Chế độ thụ động không yêu cầu người dùng tương tác để lời nhắc FedCM xuất hiện. Khi người dùng truy cập vào trang web của bên phụ thuộc (RP), hộp thoại đăng nhập FedCM có thể xuất hiện khi navigator.credentials.get() được gọi nếu đáp ứng các điều kiện sau:

Người dùng đăng nhập vào một RP bằng FedCM ở chế độ thụ động.

Chế độ đang hoạt động. Ở chế độ đang hoạt động, bạn cần kích hoạt người dùng tạm thời (chẳng hạn như nhấp vào nút Đăng nhập bằng…) để kích hoạt lời nhắc FedCM.

Người dùng đăng nhập vào một RP bằng FedCM ở chế độ đang hoạt động.

Người dùng có thể hoàn tất quy trình đăng nhập bằng cách nhấn vào Tiếp tục dưới dạng <user>. Nếu thành công, trình duyệt sẽ lưu trữ thông tin về việc người dùng đã tạo một tài khoản liên kết trên RP với IdP.

Nếu người dùng không có tài khoản trên RP với IdP, thì một hộp thoại đăng ký sẽ xuất hiện với văn bản công bố bổ sung, chẳng hạn như điều khoản dịch vụ và chính sách quyền riêng tư của RP.

Tuân thủ luật về quyền riêng tư trên mạng

Việc sử dụng FedCM dưới dạng một IdP hoặc RP liên quan đến việc lưu trữ thông tin trên thiết bị đầu cuối của người dùng hoặc quyền truy cập vào thông tin đã được lưu trữ trong thiết bị đó. Do đó, đây là một hoạt động tuân theo luật về quyền riêng tư điện tử ở Khu vực kinh tế Châu Âu (EEA) và Vương quốc Anh, thường yêu cầu sự đồng ý của người dùng. Bạn có trách nhiệm xác định xem việc sử dụng FedCM có cực kỳ cần thiết để cung cấp dịch vụ trực tuyến mà người dùng yêu cầu rõ ràng hay không, từ đó được miễn yêu cầu đồng ý. Để biết thêm thông tin, bạn nên đọc Các câu hỏi thường gặp về việc tuân thủ liên quan đến quyền riêng tư trong Hộp cát về quyền riêng tư.

Thị giác

Chúng tôi đang tích cực phát triển các tính năng mới để giải quyết những hạn chế hiện tại và mang đến trải nghiệm tốt hơn cho người dùng.

  • Chúng tôi đang khám phá các công thức trải nghiệm người dùng ít gây phiền hà hơn để đảm bảo quy trình xác thực suôn sẻ,trực quan và ít gây phiền hà hơn cho người dùng.
  • Chúng tôi cam kết cải thiện quyền riêng tư của người dùng. Chúng tôi dự định chuyển sang mô hình FedCM NextGen (thế hệ mới) theo hướng uỷ quyền để giảm thiểu Vấn đề theo dõi của IdP. Với NextGen, người dùng có thể đăng nhập vào các RP mà không cần IdP theo dõi người dùng.
  • FedCM nhằm cung cấp cho người dùng nhiều lựa chọn hơn về IdP, dựa trên lựa chọn của RP. Để đạt được điều này, chúng tôi đang nỗ lực phát triển API Đăng ký nhiều IdP và IdP.
  • Chúng tôi đang tích cực nỗ lực tích hợp FedCM với các phương thức xác thực khác như Khoá truy cập bằng các phương tiện bổ sung như Tự động điền để mang đến trải nghiệm xác thực hợp nhất.

Hãy xem lộ trình của chúng tôi để biết thêm thông tin chi tiết.

Các bước tiếp theo

Chuẩn bị môi trường để kiểm thử và phát triển giải pháp nhận dạng bằng API FedCM.
Xem lại cách triển khai giải pháp danh tính bằng FedCM ở phía Nhà cung cấp danh tính.