API web để liên kết danh tính nhằm 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 giải pháp bảo đảm quyền riêng tư tiếp cận 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 phải chia sẻ thông tin cá nhân của họ với hoặc trang web.
Trạng thái triển khai
- Trạng thái của Nền tảng Chrome
- FedCM được cung cấp trong Chrome 108.
- Đề xuất của FedCM là dành cho cuộc thảo luận công khai.
- FedCM chưa được hỗ trợ trong các trình duyệt khác.
- Mozilla đang triển khai một nguyên mẫu cho Firefox và Apple đã bày tỏ sự ủng hộ chung cũng như quan tâm đến việc cùng nhau hợp tác về đề xuất của FedCM.
Sắp tới, chúng tôi dự định giới thiệu một số tính năng mới dựa trên dựa trên ý kiến phản hồi mà chúng tôi nhận được từ các 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ẽ áp dụng FedCM, nhưng hãy lưu ý rằng FedCM vẫn là một API đang trong quá trình phát triển.
Để giảm thiểu những thách thức trong việc triển khai các thay đổi có khả năng tương thích ngược, chúng tôi có hai đề xuất cho các nhà cung cấp danh tính:
- Đăng ký bản tin mà chúng tôi cung cấp 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 IdP phân phối API FedCM bằng SDK JavaScript trong khi API đang trong quá trình hoàn thiện và để ngăn chặn bên bị hạn chế không dùng SDK tự lưu trữ. Thao tác này sẽ đảm bảo IdP có thể điều chỉnh 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 mình triển khai lại.
Vì sao chúng ta cần FedCM?
Trong thập kỷ qua, liên kết bản sắc đã đó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 không cần mật khẩu) và khả năng 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 trên từng trang web tên người dùng và mật khẩu.
Khi liên kết danh tính, một RP (bên đáng tin cậy) sẽ dựa vào một IdP (danh tính) nhà cung cấp) để 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 mới và mật khẩu.
Thật không may, 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ạm dụng thường xuyên để 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, các biện pháp giảm thiểu cho các loại lạm dụng khác nhau giúp việc triển khai liên kết danh tính hơn.
API Quản lý thông tin xác thực liên kết (FedCM) cung cấp một mã theo từng trường hợp sử dụng trừu tượng cho các luồng nhận dạng liên kết trên web, bằng cách hiển thị một trình duyệt hộp thoại đã dàn xếp cho phép người dùng chọn tài khoản trong số các nhà cung cấp danh tính để đăng nhập của bạn.
FedCM là một hành trình gồm nhiều bước để cải thiện danh tính trên web. Trong bước đầu tiên, chúng tôi tập trung vào việc giảm tác động của các quy định hạn chế về cookie của bên thứ ba về danh tính liên kết (xem mục Lộ trình để biết một số bước hơn nữa).
Điều gì sẽ bị ảnh hưởng?
Thông qua trang cộng đồng nỗ lực và nghiên cứu của mình, chúng tôi biết được rằng có một số liên kết danh tính liên quan đến hoạt động tích hợp bị ảnh hưởng bởi các hạn chế về cookie của bên thứ ba:
- Kênh trước OpenID Connect Đăng xuất
- Phiên OpenID Connect Quản lý
- Mã thông báo nền dựa trên iframe gia hạn
- Đăng nhập dựa trên iframe tiện ích
Mục tiêu đầu tiên của FedCM là giảm tác động của các quy định hạn chế sử dụng cookie của bên thứ ba đối với liên kết danh tính và đây là những lĩnh vực chúng tôi dự kiến sẽ bị ảnh hưởng. Nếu còn những trường hợp sử dụng khác không được liệt kê, bạn có thể 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 rằng FedCM chỉ hữu ích cho bạn nếu áp dụng tất cả các điều kiện sau:
- Bạn là một nhà cung cấp danh tính (IdP).
- Bạn chịu ảnh hưởng của các quy định hạn chế về cookie của bên thứ ba.
- Bên bị hạn chế là các trang web của bên thứ ba. Nếu trang bị hạn chế của bạn là các trang web có liên quan đáng kể, bạn có thể được phục vụ tốt hơn của Trang web có liên quan Tập hợp.
Bạn là một IdP (nhà cung cấp danh tính)
FedCM cần có sự hỗ trợ của một nhà cung cấp danh tính. Bên phụ thuộc không thể sử dụng FedCM độc lập. Nếu là một bên bị hạn chế (RP), bạn có thể yêu cầu nhà cung cấp danh tính (IdP) của mình cung cấp .
Bạn chịu ảnh hưởng của các quy định hạn chế về 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 chịu ảnh hưởng của các hạn chế liên quan đến cookie của bên thứ ba.
Nếu bạn không chắc liệu liên kết danh tính của mình có tiếp tục hoạt động khi không có cookie của bên thứ ba, bạn có thể kiểm tra mức độ tác động trên một 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 liên kết danh tính của bạn mà không cookie của bên thứ ba, bạn có thể tiếp tục sử dụng công cụ tích hợp hiện tại mà không cần FedCM.
Nếu bạn không chắc chắn điều gì cần kiểm tra, hãy đọc thêm về các chỉ số tính năng mà các hạn chế về cookie của bên thứ ba dự kiến sẽ bị ảnh hưởng.
Các 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ó bên bị hạn chế có mối quan hệ bên thứ nhất với IdP, chúng tôi yêu cầu Nhóm trang web có liên quan có thể là lựa chọn phù hợp hơn. Bộ 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 hạn chế quyền truy cập vào cookie của bên thứ ba cho các mục đích cụ thể. Điều này cho phép cookie của bên thứ ba hoạt động giữa các tập hợp các trang web có liên quan đáng kể, ngay cả khi cookie của bên thứ ba bị hạn chế.
Người dùng sẽ tương tác với FedCM như thế nào?
Trọng tâm chính của FedCM là giảm thiểu tác động của cookie của bên thứ ba hạn chế. Người dùng có thể bật hoặc tắt FedCM trong người dùng Chrome phần cài đặt.
FedCM được thiết kế không phụ thuộc vào giao thức và cung cấp các tính năng sau: liên quan đến xác thực.
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
Khi người dùng truy cập vào trang web của bên phụ thuộc (RP), một hộp thoại đăng nhập vào 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 bên bị hạn chế thông qua IdP (nhà cung cấp danh tính), một hộp thoại đăng ký xuất hiện cùng với văn bản tiết lộ bổ sung như điều khoản dịch vụ của bên bị hạn chế và chính sách quyền riêng tư của chúng tôi (nếu có).
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 bằng tài khoản.... Nếu thành công, trình duyệt lưu trữ thực tế là người dùng đã tạo tài khoản liên kết trên RP với IdP.
Các RP dự kiến sẽ hoạt động trên các trình duyệt không hỗ trợ FedCM. Người dùng phải có thể sử dụng quy trình đăng nhập hiện có, không phải FedCM. Tìm hiểu thêm về cách tính năng đăng nhập hoạt động 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 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 tính năng Đăng nhập qua bên thứ ba](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-acb36abf28b59.jpg?authuser=9&hl=vi)
Họ cũng có thể làm tương tự cho Chrome trên máy tính bằng cách chuyển đến
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 tính năng Đăng nhập qua bên thứ ba](https://developers-dot-devsite-v2-prod.appspot.com/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-ebbf4834f6f21.png?authuser=9&hl=vi)
Lộ trình
Chúng tôi đang nỗ lực thực hiện một số thay đổi đối với FedCM. Xem Cập nhật để biết thêm thông tin chi tiết.
- Nhật ký thay đổi: Nội dung cập nhật của API Quản lý thông tin xác thực liên kết.
Chúng tôi biết rằng vẫn cần phải làm một số việc nữa, bao gồm cả những vấn đề mà chúng tôi những thông tin mà các IdP (nhà cung cấp danh tính), bên bị hạn chế (RP) và nhà cung cấp trình duyệt chia sẻ. Chúng tôi tin rằng mình biết cách giải quyết các vấn đề sau:
- Hỗ trợ iframe trên nhiều nguồn gố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 qua iframe trên nhiều nguồn gốc do IdP sở hữu (cập nhật).
- Điểm cuối chỉ số: Cung cấp các chỉ số về hiệu suất cho các IdP (nhà cung cấp danh tính).
Ngoài ra, còn có nhiều 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 đề xuất cụ thể mà chúng tôi đang đánh giá hoặc xây dựng nguyên mẫu:
- CORS: Chúng tôi sẽ thảo luận với Apple và Mozilla để đảm bảo cải thiện thông số kỹ thuật của tìm nạp FedCM.
- API Multi-IdP: Chúng tôi đang tìm hiểu cách hỗ trợ nhiều mã nhận dạng Các IdP để cùng tồn tại trong trình chọn tài khoản FedCM.
- API trạng thái đăng nhập IdP: Mozilla đã xác định được một cuộc tấn công theo thời gian và chúng tôi đang tìm hiểu các cách để một IdP chủ động thông báo cho trình duyệt về hoạt động đăng nhập của người dùng trạng thái thành giảm thiểu vấn đề. (cập nhật)
- Đăng nhập vào API IdP: Để hỗ trợ nhiều loại dịch vụ , khi người dùng không đã đăng nhập vào IdP, trình duyệt sẽ cung cấp một giao diện người dùng để người dùng đăng nhập mà không cần rời khỏi RP.
Cuối cùng, dựa trên ý kiến phản hồi, chúng tôi cho rằng có một số việc vẫn cần cải thiện từ Mozilla, Apple và TAG người đánh giá. Chúng tôi đang nỗ lực đánh giá các giải pháp tốt nhất cho các câu hỏi mở sau đây:
- Nâng cao mức độ hiểu bài và ý định so khớp của người dùng: Dưới dạng Mozilla lưu ý, chúng tôi muốn tiếp tục khám phá các công thức trải nghiệm người dùng và diện tích 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: Với vai trò là Người đánh giá TAG lưu ý, chúng tôi muốn cung cấp một cơ chế để chọn lọc chia sẻ nhiều hoặc ít danh tính hơn (chẳng hạn như email, nhóm tuổi, số điện thoại, v.v.).
- Tăng thuộc tính quyền riêng tư: Theo đề xuất của Mozilla ở vị thế tiêu chuẩn, chúng tôi muốn tiếp tục khám phá các cơ chế nhằm mang lại quyền riêng tư tốt hơn các đảm bảo, chẳng hạn như IdP mù, nhận dạng trực tiếp.
- Mối quan hệ với WebAuthn: Như được đề xuất bởi Apple, chúng tôi rất vui mừng khi thấy sự tiến bộ trên khoá truy cập cũng như để cung cấp khoá truy cập nhất quán và trải nghiệm gắn kết giữa FedCM, Mật khẩu, WebAuthn và WebOTP.
- Trạng thái đăng nhập: Như Apple đã đề xuất với Trạng thái đăng nhập của CG về quyền riêng tư API, 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 các trình duyệt đưa ra quyết định sáng suốt và chúng tôi rất vui mừng chờ xem các 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 Đạo luật bản quyền của FedID, vẫn có một cơ chế rất hữu ích vụ án chưa được FedCM phục vụ tốt mà chúng tôi muốn giải quyết, chẳng hạn như đăng xuất kênh trước (nhà cung cấp danh tính) có thể gửi tín hiệu đến các bên bị hạn chế (RP) để đă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 phù hợp trong FedCM, ví dụ như với 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ó 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 phổ biến, tệp cấu hình và các điểm cuối cho danh sách tài khoản, phát hành thông tin xác nhận và siêu dữ liệu ứng dụng khách (không bắt buộc). Từ đó, FedCM sẽ hiển thị các API JavaScript mà 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 dành cho nhà phát triển FedCM.
Thu hút và chia sẻ ý kiến phản hồi
- GitHub: Đọc giải thích, nâng lên vấn đề và theo dõi nội dung thảo luận.
- Hỗ trợ nhà phát triển: Đặt câu hỏi và tham gia thảo luận về Quyền riêng tư Hỗ trợ nhà phát triển Sandbox kho lưu trữ.
Tuân thủ luật về quyền riêng tư điện tử
Việc sử dụng FedCM, với tư cách là một IdP (nhà cung cấp danh tính) hoặc một RP, sẽ 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ị đầu cuối đó và được do đó, có hoạt động phải tuân theo luật về quyền riêng tư điện tử tại Khu vực kinh tế Châu Âu (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 bạn sử dụng FedCM có thực sự cần thiết để cung cấp dịch vụ trực tuyến được người dùng yêu cầu rõ ràng và do đó được miễn trừ khỏi yêu cầu về sự đồng ý. Để biết thêm thông tin, bạn nên đọc phần Chính sách quyền riêng tư Hộp cát Tuân thủ liên quan đến quyền riêng tư Câu hỏi thường gặp.