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ư cho các dịch vụ nhận dạng được 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

Trong tương lai, 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ừ nhà cung cấp danh tính (IdP), các bên đáng tin cậy (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ẽ sử 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à có thể xảy ra 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 khi 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 nhà cung cấp danh tính:

  • Hãy đăng ký nhận bản tin của chúng tôi để 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 thông qua SDK JavaScript khi API đang phát triển, đồng thời không khuyến khích các bên bị hạn chế sử dụng 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 cần phải yêu cầu tất cả các bên đáng tin cậy 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ò trung tâm trong việc nâng cao tiêu chuẩn xác thực trên web, về độ tin cậy, tính dễ sử dụng (ví dụ: đăng nhập một lần 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 mỗi trang web.

Với tính năng liên kết danh tính, RP (bên xác thực) 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 biện pháp giảm thiểu các loại hành vi sai trái sẽ 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 nhận dạng được liên kết trên web, bằng cách hiển thị một hộp thoại có dàn xếp của 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 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 đăng nhập vào một RP bằng FedCM

Điều gì sẽ ảnh hưởng đến chúng tôi?

Nhờ nỗ lực của cộng đồng và nghiên cứu của chúng tôi, chúng tôi nhận thấy có một số hoạt động tích hợp liên quan đến liên kết danh tính bị ảnh hưởng bởi 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. Bên trên là danh sách các khía cạnh mà chúng tôi dự kiến sẽ bị ảnh hưởng. Nếu có thêm 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 khảo và chia sẻ ý kiến phản hồi.

Ai nên sử dụng FedCM?

Chúng tôi hy vọng FedCM chỉ hữu ích cho bạn nếu áp dụng tất cả các điều kiện sau:

  1. Bạn là một nhà cung cấp danh tính (IdP).
  2. Việc loại bỏ cookie của bên thứ ba sẽ ảnh hưởng đến bạn.
  3. Bên bị hạn chế của bạn là các trang web của bên thứ ba. Nếu bên bị hạn chế của bạn là các trang web có liên quan, có thể bạn sẽ được Nhóm trang web có liên quan phục vụ tốt hơn.

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

FedCM cần một nhà cung cấp danh tính hỗ trợ. 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ế (RP), bạn có thể yêu cầu IdP của mình cung cấp hướng dẫn.

Bạn sẽ chịu ảnh hưởng của việc loại bỏ cookie của bên thứ ba

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

Nếu không chắc liệu liên kết danh tính 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 có tác động nào có thể phát hiện được đối với việc liên kết danh tính khi 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 chắc chắn về điều cần kiểm tra, hãy đọc thêm về các tính năng đã biết mà việc loại bỏ này dự kiến sẽ ảnh hưởng đến.

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

Nếu bạn là nhà cung cấp danh tính có bên bị hạn chế có mối quan hệ bên thứ nhất với IdP, thì Nhóm trang web có liên quan có thể là lựa chọn phù hợp hơn. Nhóm trang web có liên quan (RWS) là một cách để một tổ chức khai báo mối quan hệ giữa các trang web để các trình duyệt cho phép bên thứ ba truy cập có giới hạn vào cookie cho các mục đích cụ thể. Nhờ đó, cookie của bên thứ ba vẫn có thể hoạt động giữa các nhóm trang web có liên quan và có ý nghĩa, ngay cả sau khi loại bỏ cookie của bên thứ ba.

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 xác thực sau đây.

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

Đăng nhập vào một bên đáng tin cậy

Một người dùng đang đăng nhập vào một RP 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 bê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 đă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ữ 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 bằng IdP.

Dự kiến bên bị hạn chế 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 của FedCM. Tìm hiểu thêm về cách hoạt động của quy trình đă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 trên Chrome trên Android. Chuyển đến Cài đặt > Cài đặt trang web > Đăng nhập qua bên thứ ba, sau đó 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ự đối với 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 để triển khai một số thay đổi đối với FedCM.

Chúng tôi đã áp dụng một số nội dung 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 ít nhất là quý 4 năm 2023 để ổn định. Vui lòng xem Nội dung cập nhật để biết thêm 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 vài điều chúng tôi biết vẫn cần được cải thiện, trong đó có những vấn đề chúng tôi đã nghe được từ các nhà cung cấp danh tính, RP và 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 đề sau:

  • Hỗ trợ iframe nhiều nguồn gốc: Các IdP có thể gọi FedCM từ trong một iframe trên nhiều nguồn gốc (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 từ trong iframe nhiều nguồn gốc do IdP sở hữu (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ả những đề 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, Applengười đánh giá THẺ. 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 mức độ hiểu của người dùng và so khớp ý định: Như Mozilla đã 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 bề mặt khác nhau, cũng như các tiêu chí kích hoạt.
  • Thuộc tính nhận dạng 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, độ 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ư hiện tượng mù của IdP (nhà cung cấp danh tính), các giá trị nhận dạng được định hướng.
  • Mối quan hệ với WebAuthn: Theo đề xuất của Apple, chúng tôi rất vui khi thấy tiến trình của khoá truy cập và nỗ lực cung cấp trải nghiệm nhất quán và nhất quán giữa FedCM, Mật khẩu, 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 giác rằng trạng thái đăng nhập của người dùng là một 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 muốn biết cơ hội nào phát sinh từ đó. (cập nhật)
  • Doanh nghiệp và giáo dục: Như đã nêu rõ trong FedID CG, chúng tôi vẫn muốn cải thiện nhiều trường hợp sử dụng mà FedCM chưa phục vụ tốt, chẳng hạn như đăng xuất kênh trước (khả năng IdP gửi tín hiệu tới 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 tìm hiểu cách thức hoạt động của các mDL này phù hợp với 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 bối cảnh bảo mật (HTTPS hoặc máy chủ cục bộ) 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, phiên bản xác nhận 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 tham khảo Hướng dẫn cho nhà phát triển FedCM.

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