API quản lý thông tin xác thực liên kết

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

FedCM là gì?

FedCM (Quản lý thông tin xác thực liên kết) là một phương pháp bảo đảm quyền riêng tư đối với các dịch vụ danh tính liên kết (chẳng hạn như "Đăng nhập bằng..."), trong đó người dùng có thể đăng nhập vào các trang web mà không cần chia sẻ thông tin cá nhân của họ với dịch vụ nhận dạng hoặc trang web.

Trạng thái triển khai

Sắp tới, chúng tôi dự định ra mắt một số tính năng mới dựa trên ý kiến phản hồi nhận được từ các nhà cung cấp danh tính (IdP), các bên phụ thuộc (RP) và nhà cung cấp trình duyệt. Mặc dù chúng tôi hy vọng các nhà cung cấp danh tính sẽ áp dụng FedCM, nhưng xin lưu ý rằng FedCM vẫn là một API đang trong quá trình phát triển và dự kiến sẽ có các thay đổi không tương thích ngược cho đến Quý 4 năm 2023.

Để giảm thiểu thách thức của việc triển khai các thay đổi không tương thích ngược, chúng tôi hiện có 2 đề xuất cho các nhà cung cấp danh tính:

  • Hãy đăng ký nhận bản tin. Tại đây, chúng tôi sẽ gửi thông tin cập nhật khi API phát triển.
  • Chúng tôi khuyến khích các nhà cung cấp danh tính (IdP) phân phối API FedCM qua SDK JavaScript trong khi API đang hoàn thiện, đồng thời ngăn chặn các RP khỏi SDK tự lưu trữ. Điều này sẽ đảm bảo IdP có thể thực hiện các thay đổi khi API phát triển mà không phải yêu cầu tất cả các bên phụ thuộc của họ triển khai lại.

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

Trong thập kỷ qua, liên kết danh tính đã đóng vai trò trọng tâm trong việc nâng cao tiêu chuẩn xác thực trên web, xét về độ tin cậy, tính dễ sử dụng (ví dụ: đăng nhập một lần mà không cần mật khẩu) và tính bảo mật (ví dụ: cải thiện khả năng chống lại các cuộc tấn công lừa đảo và nhồi nhét thông tin xác thực) so với tên người dùng và mật khẩu trên từng trang web.

Với liên kết danh tính, RP (bên đáng tin cậy) dựa vào IdP (nhà cung cấp danh tính) để 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.

Rất tiếc, các cơ chế mà liên kết danh tính đã dựa vào (iframe, chuyển hướng và cookie) đang bị lợi dụng để theo dõi người dùng trên web. Vì tác nhân người dùng không thể phân biệt giữa liên kết danh tính và hoạt động theo dõi, nên các giải pháp giảm thiểu các loại hành vi sử dụng sai mục đích khiến việc triển khai liên kết danh tính trở nên khó khăn hơn.

API Quản lý thông tin xác thực liên kết (FedCM) cung cấp bản tóm tắt theo trường hợp sử dụng cụ thể cho các luồng danh tính được liên kết trên web, bằng cách hiển thị hộp thoại dàn xếp cho trình duyệt cho phép người dùng chọn tài khoản từ IdP để đăng nhập vào trang web.

FedCM là một hành trình gồm nhiều bước để cải thiện danh tính trên web và trong bước đầu tiên, chúng tôi tập trung vào việc giảm tác động của việc loại bỏ cookie của bên thứ ba đối với danh tính được liên kết (xem phần Lộ trình để biết thêm vài bước).

Một người dùng đang ký vào một bên bị hạn chế bằng FedCM

Điều gì sẽ bị ảnh hưởng?

Qua nỗ lực của cộng đồng và nghiên cứu của chúng tôi, chúng tôi biết được rằng có một số nội dung tích hợp liên quan đến liên kết danh tính chịu ảnh hưởng của việc loại bỏ cookie của bên thứ ba:

Mục tiêu đầu tiên của FedCM là giảm tác động của việc loại bỏ cookie của bên thứ ba đối với liên kết danh tính và trên đây là danh sách các lĩnh vực mà chúng tôi dự kiến sẽ bị ảnh hưởng. Nếu có trường hợp sử dụng nào khác mà chúng tôi chưa liệt kê, bạn nên tham gia và chia sẻ ý kiến phản hồi.

Ai nên sử dụng FedCM?

Chúng tôi dự kiến FedCM chỉ hữu ích cho bạn nếu tất cả những điều kiện này áp dụng:

  1. Bạn là một nhà cung cấp danh tính (IdP).
  2. Bạn sẽ bị ảnh hưởng bởi việc ngừng sử dụng cookie của bên thứ ba.
  3. Bên bị hạn chế của bạn là các bên thứ ba. Nếu RP của bạn là SameParty, thì có thể bạn sẽ nhận được dịch vụ tốt hơn từ Nhóm trang web có liên quan, trước đây gọi là Nhóm bên thứ nhất.

Bạn là một nhà cung cấp danh tính (IdP)

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

Bạn sẽ chịu ảnh hưởng của việc ngừng sử dụng cookie của bên thứ ba

Bạn chỉ nên sử dụng FedCM nếu quá trình tích hợp hiện tại của bạn bị ảnh hưởng bởi việc ngừng sử dụng cookie của bên thứ ba.

Nếu không chắc liệu liên kết danh tính của bạn có tiếp tục hoạt động sau khi Chrome loại bỏ cookie của bên thứ ba hay không, bạn có thể kiểm tra tác động trên trang web bằng cách chặn cookie của bên thứ ba trên Chrome.

Nếu không phát hiện thấy tác động nào đến việc liên kết danh tính mà không có cookie của bên thứ ba, bạn có thể tiếp tục sử dụng quy trình tích hợp hiện tại mà không cần FedCM.

Nếu bạn không biết chắc nên kiểm tra nội dung gì, hãy đọc thêm về các tính năng đã biết mà việc loại bỏ dự kiến sẽ ảnh hưởng.

Bên bị hạn chế của bạn là bên thứ ba

Nếu bạn là một nhà cung cấp danh tính có RP nằm trong cùng một bên với IdP, thì Nhóm trang web có liên quan có thể là lựa chọn tốt hơn. Bộ trang web có liên quan cho phép các tên miền có liên quan (do cùng một pháp nhân sở hữu và điều hành) tự tuyên bố là thuộc về cùng một bên thứ nhất. Việc này cho phép các cookie của bên thứ ba đó hoạt động, ngay cả sau khi cookie của bên thứ ba bị loại bỏ.

Bộ trang web có liên quan không phải lúc nào cũng sử dụng được. Tuy nhiên, nếu các bên bị hạn chế của bạn là SameParty, hãy cân nhắc sử dụng Nhóm trang web có liên quan.

Người dùng sẽ tương tác với FedCM như thế nào?

Hiện tại, trọng tâm chính của FedCM là giảm thiểu tác động của việc loại bỏ cookie của bên thứ ba. Người dùng có thể bật hoặc tắt FedCM trong phần cài đặt người dùng của Chrome.

FedCM được thiết kế để không phụ thuộc vào giao thức và cung cấp các chức năng liên quan đến quy trình xác thực sau đây.

Hãy xem bản minh hoạ của chúng tôi để biết cách ứng dụng này hoạt động.

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

Một người dùng đang ký vào một bên bị hạn chế bằng FedCM

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 sẽ xuất hiện nếu người dùng đã đăng nhập vào IdP.

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

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

Theo dự kiến, RP sẽ hoạt động trên các trình duyệt không hỗ trợ FedCM. Người dùng phải sử dụng được quy trình đăng nhập hiện có, không phải FedCM. Tìm hiểu thêm về cách hoạt động của tính năng đăng nhập trong FedCM.

Cài đặt để bật hoặc tắt FedCM

Người dùng có thể bật hoặc tắt FedCM trong phần cài đặt của Chrome trên Android. Chuyển đến phần Cài đặt > Cài đặt trang web > Đăng nhập qua bên thứ ba rồi thay đổi nút bật/tắt.

Bật FedCM trong phần Cài đặt Chrome trên thiết bị di động bằng cách bật/tắt chế độ Đăng nhập qua bên thứ ba

Họ có thể thực hiện tương tự cho Chrome trên máy tính bằng cách truy cập vào chrome://settings/content/federatedIdentityApi.

Bật FedCM trong phần Cài đặt Chrome trên máy tính bằng cách bật/tắt chế độ Đăng nhập qua bên thứ ba

Lộ trình

Chúng tôi đang nỗ lực thực hiện một số thay đổi đối với FedCM.

Chúng tôi đã áp dụng một số bản cập nhật dựa trên ý kiến phản hồi. Ngoài ra, dự kiến nó sẽ tiếp tục phát triển cho đến hết quý 4 năm 2023, ít nhất là sẽ ổn định. Vui lòng xem Nội dung cập nhật để biết thêm thông tin chi tiết.

  • Nhật ký thay đổi: Cập nhật API Quản lý thông tin xác thực liên kết.

Có một số việc chúng tôi biết vẫn cần phải hoàn thành, trong đó có những vấn đề chúng tôi nghe được từ các nhà cung cấp danh tính (IdP), bên bị hạn chế (RP) và các nhà cung cấp trình duyệt. Chúng tôi tin rằng mình biết cách giải quyết những vấn đề này:

  • Hỗ trợ iframe nhiều nguồn gốc: Các nhà cung cấp danh tính (IdP) có thể gọi FedCM từ bên trong iframe trên nhiều nguồn gốc (bản cập nhật).
  • Nút được cá nhân hoá: IdP có thể hiển thị danh tính của người dùng cũ trên nút đăng nhập trong iframe nhiều nguồn gốc do IdP sở hữu (bản cập nhật).
  • Điểm cuối của chỉ số: Cung cấp các chỉ số về hiệu suất cho các nhà cung cấp danh tính (IdP).

Ngoài ra, còn có những vấn đề chưa được giải quyết mà chúng tôi đang tích cực tìm hiểu, bao gồm cả các đề xuất cụ thể mà chúng tôi đang đánh giá hoặc thử nghiệm:

Cuối cùng, có một số việc mà chúng tôi cho rằng vẫn cần phải cải thiện dựa trên ý kiến phản hồi của Mozilla, Applecác bên đánh giá TAG. Chúng tôi đang nỗ lực đánh giá các giải pháp tốt nhất cho những câu hỏi mở này:

  • Cải thiện khả năng hiểu và ý định so khớp của người dùng: Như đã lưu ý, chúng tôi muốn tiếp tục khám phá các công thức và khu vực nền tảng trải nghiệm người dùng khác nhau, cũng như các tiêu chí kích hoạt.
  • Thuộc tính danh tính và Thông tin công bố có chọn lọc: Như Người đánh giá TAG đã lưu ý, chúng tôi muốn cung cấp một cơ chế để chia sẻ nhiều hoặc ít thuộc tính nhận dạng hơn một cách có chọn lọc (chẳng hạn như email, nhóm tuổi, số điện thoại, v.v.).
  • Nâng cao các thuộc tính về quyền riêng tư: Như Mozilla đề xuất tại đây, chúng tôi muốn tiếp tục khám phá các cơ chế để đảm bảo quyền riêng tư tốt hơn, chẳng hạn như các chỉ số nhận dạng được định hướng của IdP.
  • Mối quan hệ với WebAuthn: Theo đề xuất của Apple, chúng tôi rất vui khi được chứng kiến tiến độ phát triển khoá truy cập và nỗ lực mang lại trải nghiệm nhất quán và thống nhất giữa FedCM, Passwords, WebAuthn và WebOTP.
  • Trạng thái đăng nhập: Như Apple đề xuất với API trạng thái đăng nhập của Privacy CG, chúng tôi chia sẻ trực quan rằng trạng thái đăng nhập của người dùng là thông tin hữu ích có thể giúp trình duyệt đưa ra quyết định sáng suốt và chúng tôi rất hào hứng khi thấy những cơ hội nào phát sinh từ đó.
  • Doanh nghiệp và ngành giáo dục: Như đã nêu rõ trong FedID CG, vẫn còn nhiều trường hợp sử dụng chưa được FedCM triển khai hiệu quả, chẳng hạn như
    đăng xuất kênh trước (khả năng cho phép nhà cung cấp danh tính (IdP) gửi tín hiệu đến các bên bị hạn chế để đăng xuất) và hỗ trợ SAML.
  • Mối quan hệ với mDL/VC/v.v.: tiếp tục nỗ lực để tìm hiểu xem các mDL này hoạt động như thế nào trong FedCM, chẳng hạn như với API yêu cầu tài liệu trên thiết bị di động.

Sử dụng API FedCM

Bạn cần có một ngữ cảnh bảo mật (HTTPS hoặc localhost) trên cả IdP và RP trong Chrome để sử dụng FedCM.

Để tích hợp với FedCM, bạn cần tạo một tệp, tệp cấu hình và điểm cuối phổ biến cho danh sách tài khoản, hoạt động phát hành câu nhận định và siêu dữ liệu ứng dụng (không bắt buộc). Từ đó, FedCM hiển thị các API JavaScript mà các bên bị hạn chế có thể dùng để đăng nhập bằng IdP.

Để tìm hiểu cách sử dụng API FedCM, hãy xem hướng dẫn cho nhà phát triển FedCM.

Thu hút và chia sẻ ý kiến phản hồi