API Quản lý thông tin xác thực liên kết được vận chuyển trong Chrome 108 nhưng dự kiến sẽ tiếp tục đang phát triển. Chưa có sự thay đổi nào có thể gây lỗi.
Những bản cập nhật này dành cho ai?
Những nội dung cập nhật này áp dụng cho bạn nếu:
- Bạn là một IdP (nhà cung cấp danh tính) sử dụng API Quản lý thông tin xác thực liên kết.
- Bạn là một IdP (nhà cung cấp danh tính) hoặc bên bị hạn chế (RP) và muốn mở rộng API này để phù hợp với mục đích sử dụng của mình viết hoa – ví dụ: mà bạn đã theo dõi hoặc tham gia vào các cuộc thảo luận về kho lưu trữ FedID CG và muốn hiểu rõ những thay đổi đối với API này.
- Bạn là một nhà cung cấp trình duyệt và bạn muốn cập nhật tình hình triển khai trạng thái của API.
Nếu bạn mới sử dụng API này hoặc chưa thử nghiệm với API này, hãy đọc giới thiệu về API Quản lý thông tin xác thực liên kết.
Nhật ký thay đổi
Để luôn nắm bắt thông tin mới nhất về những thay đổi đối với API FedCM, hãy tham khảo blog hoặc trang bản tin.
Chrome 125 (Tháng 4 năm 2024)
- Do quy cách đã cập nhật tên của "điểm cuối trong danh sách tài khoản" đến "accounts" điểm cuối", tài liệu của chúng tôi sẽ được điều chỉnh cho phù hợp.
- Bản dùng thử theo nguyên gốc cho API Chế độ nút hiện có trên Chrome dành cho máy tính 125. Học hỏi thông tin khác về vấn đề này trong nội dung cập nhật của FedCM: Bản dùng thử theo nguyên gốc Button Mode API, CORS và SameSite.
- CORS được thực thi trên điểm cuối của câu nhận định danh tính kể từ Chrome 125.
- Chrome sẽ chỉ gửi cookie được đánh dấu rõ ràng là
SameSite=None
tới ID điểm cuối xác nhận và điểm cuối của tài khoản đang bắt đầu từ Chrome 125.
Chrome 123 (tháng 2 năm 2024)
- Hỗ trợ thêm API Gợi ý miền. Gợi ý tên miền
API cho phép bên bị hạn chế
chỉ định thuộc tính
domainHint
trên lệnh gọi API FedCM để chỉ hiển thị kết quả trùng khớp tài khoản cho người dùng.
Chrome 122 (tháng 1 năm 2024)
- Thêm tính năng hỗ trợ cho tính năng Ngắt kết nối API. Ngắt kết nối API cho phép Các bên bị hạn chế để ngắt kết nối người dùng của họ khỏi tài khoản của IdP mà không cần dựa vào cookie của bên thứ ba.
- Đang kiểm tra
/.well-known/web-identity
hiện sẽ bị bỏ qua khi RP và IdP ở cùng một trang web. - Các nguồn phụ hiện có thể thiết lập thông tin đăng nhập cùng một trang web trạng thái.
Chrome 121 (tháng 12 năm 2023)
- Điều kiện nới lỏng để kích hoạt tính năng tự động xác thực lại FedCM:
- Tính năng tự động xác thực lại trong
FedCM chỉ được kích hoạt khi người dùng quay lại. Điều này có nghĩa là người dùng
cần đăng nhập vào RP bằng FedCM một lần trên mọi phiên bản trình duyệt,
trước khi có thể kích hoạt tính năng tự động xác thực lại. Điều kiện này ban đầu là
được giới thiệu để giảm thiểu nguy cơ các thiết bị theo dõi mạo danh danh tính
nhà cung cấp danh tính (IdP) và lừa trình duyệt tự động xác thực lại một người dùng
mà không có kiến thức hoặc sự đồng thuận của họ. Tuy nhiên, thiết kế này không đảm bảo được
lợi ích về quyền riêng tư nếu thiết bị theo dõi có quyền truy cập vào cookie của bên thứ ba trên
Bối cảnh về RP. FedCM chỉ cung cấp một số tính năng có thể đạt được thông qua
cookie của bên thứ ba, vì vậy, nếu trình theo dõi đã có quyền truy cập vào
cookie trên bối cảnh RP, quyền truy cập vào FedCM không thể hiện quyền riêng tư bổ sung
rủi ro.
Vì có việc sử dụng chính đáng cookie của bên thứ ba và nới lỏng sẽ cải thiện trải nghiệm người dùng. Hành vi này sẽ thay đổi từ Chrome 121. Chúng tôi đã quyết định nới lỏng những hạn chế của điều kiện để coi người dùng là trả về: liệu cookie của bên thứ ba có được cung cấp cho IdP trên bên bị hạn chế hay không ngữ cảnh, Chrome sẽ tin tưởng xác nhận quyền sở hữu của IdP về trạng thái tài khoản của người dùng được chỉ định qua danh sáchapproved_clients
và kích hoạt tuỳ chọn tự động xác thực lại nếu có. Cookie của bên thứ ba có thể được cung cấp thông qua: chế độ cài đặt của người dùng, chính sách doanh nghiệp, suy nghiệm (Safari, Firefox, Chrome) và các API nền tảng web khác (chẳng hạn như Quyền truy cập vào bộ nhớ) API). Ghi chú khi IdP mất quyền truy cập vào cookie của bên thứ ba trong tương lai, nếu một người dùng chưa từng cấp quyền rõ ràng trên giao diện người dùng FedCM (ví dụ: nhấp vào nút Tiếp tục dưới dạng) trước đó, thì họ vẫn sẽ được coi là một người dùng mới.
Nhà phát triển không cần làm gì cả. Xin lưu ý rằng quy trình tự động xác thực lại có thể được kích hoạt thêm nhờ sự thay đổi này nếu IdP có quyền truy cập vào cookie của bên thứ ba và tuyên bố rằng trước đây người dùng đó đã tạo tài khoản trên bên bị hạn chế.
- Tính năng tự động xác thực lại trong
FedCM chỉ được kích hoạt khi người dùng quay lại. Điều này có nghĩa là người dùng
cần đăng nhập vào RP bằng FedCM một lần trên mọi phiên bản trình duyệt,
trước khi có thể kích hoạt tính năng tự động xác thực lại. Điều kiện này ban đầu là
được giới thiệu để giảm thiểu nguy cơ các thiết bị theo dõi mạo danh danh tính
nhà cung cấp danh tính (IdP) và lừa trình duyệt tự động xác thực lại một người dùng
mà không có kiến thức hoặc sự đồng thuận của họ. Tuy nhiên, thiết kế này không đảm bảo được
lợi ích về quyền riêng tư nếu thiết bị theo dõi có quyền truy cập vào cookie của bên thứ ba trên
Bối cảnh về RP. FedCM chỉ cung cấp một số tính năng có thể đạt được thông qua
cookie của bên thứ ba, vì vậy, nếu trình theo dõi đã có quyền truy cập vào
cookie trên bối cảnh RP, quyền truy cập vào FedCM không thể hiện quyền riêng tư bổ sung
rủi ro.
Chrome 120 (tháng 11 năm 2023)
- Hỗ trợ thêm 3 tính năng sau trong Chrome 120:
- API trạng thái đăng nhập: Trạng thái đăng nhập
API là một
cơ chế trong đó một trang web, đặc biệt là một IdP, thông báo cho trình duyệt thông tin về
trạng thái đăng nhập. Với API này, trình duyệt có thể giảm các yêu cầu không cần thiết xuống
IdP (nhà cung cấp danh tính) và giảm thiểu các cuộc tấn công về thời gian tiềm ẩn. API Trạng thái đăng nhập là một
đối với FedCM.
Với thay đổi này, cờ
chrome://flags/#fedcm-without-third-party-cookies
không cần phải bật FedCM nữa khi cookie của bên thứ ba bị chặn. - API Lỗi: Lỗi API thông báo cho người dùng bằng cách hiển thị giao diện người dùng của trình duyệt cùng với thông tin về lỗi do IdP cung cấp.
- API cờ được chọn tự động: Cờ được chọn tự động API chia sẻ liệu người dùng có được sự cho phép rõ ràng hay không bằng cách nhấn vào Nút Tiếp tục bằng tài khoản qua cả IdP và RP, bất cứ khi nào hệ thống tự động xác thực lại hoặc có một sự hoà giải rõ ràng. Quá trình chia sẻ chỉ diễn ra sau người dùng quyền đã được cấp để giao tiếp với IdP (nhà cung cấp danh tính) và RP.
- API trạng thái đăng nhập: Trạng thái đăng nhập
API là một
cơ chế trong đó một trang web, đặc biệt là một IdP, thông báo cho trình duyệt thông tin về
trạng thái đăng nhập. Với API này, trình duyệt có thể giảm các yêu cầu không cần thiết xuống
IdP (nhà cung cấp danh tính) và giảm thiểu các cuộc tấn công về thời gian tiềm ẩn. API Trạng thái đăng nhập là một
đối với FedCM.
Với thay đổi này, cờ
Chrome 117 (Tháng 9 năm 2023)
- Bản dùng thử theo nguyên gốc cho API Trạng thái đăng nhập Idp hiện có trên Android từ Chrome 117. Tìm hiểu thêm về điều này trong Thông tin cập nhật về FedCM: API trạng thái đăng nhập qua IdP, Gợi ý đăng nhập và nhiều thông tin khác.
Chrome 116 (Tháng 8 năm 2023)
- Hỗ trợ thêm 3 tính năng sau trong Chrome 116:
- API Gợi ý đăng nhập: Chỉ định một tài khoản người dùng ưu tiên để đăng nhập.
- API Thông tin người dùng: Tìm nạp thông tin của người dùng cũ để nhà cung cấp danh tính (IdP) có thể hiển thị nút đăng nhập được cá nhân hoá trong iframe.
- RP Context API: Sử dụng tiêu đề khác với "Sign in" (Đăng nhập) trong hộp thoại FedCM.
- Hiện đã có Bản dùng thử theo nguyên gốc dành cho API trạng thái đăng nhập qua IdP. Tìm hiểu thêm về điều này trong Thông tin cập nhật về FedCM: API trạng thái đăng nhập qua IdP, Gợi ý đăng nhập và nhiều thông tin khác.
Chrome 115 (tháng 6 năm 2023)
- Bổ sung tính năng hỗ trợ xác thực lại tự động, cho phép người dùng tự động xác thực lại khi họ quay lại sau lần xác thực lần đầu bằng FedCM. Điều này giúp cải thiện trải nghiệm người dùng và cho phép xác thực lại đơn giản hơn cho bên bị hạn chế sau lần xác thực ban đầu. Tìm hiểu thêm về tính năng tự động xác thực lại FedCM.
Chrome 110 (tháng 2 năm 2023)
- Đối với điểm cuối xác nhận mã nhận dạng, IdP cần kiểm tra tiêu đề
Origin
(thay vì tiêu đềReferer
) để xem giá trị có khớp với nguồn gốc của mã ứng dụng khách hay không. - Hiện đã có tính năng hỗ trợ iframe trên nhiều nguồn gốc cho FedCM. Chiến lược phát hành đĩa đơn
người nhúng nên chỉ định
Permissions-Policy
identity-credentials-get
để cho phép API FedCM trong nhiều nguồn gốc được nhúng iframe. Bạn có thể xem ví dụ về iframe trên nhiều nguồn gốc. - Đã thêm cờ Chrome mới
chrome://flags/#fedcm-without-third-party-cookies
. Với cờ này, bạn có thể thử nghiệm chức năng FedCM trong Chrome bằng cách chặn cookie của bên thứ ba. Tìm hiểu thêm trong tài liệu của FedCM.
Chrome 108 (Tháng 10 năm 2022)
- "tệp kê khai cấp cao nhất" hiện có tên là "tệp phổ biến" trong tài liệu. Bạn không cần thay đổi cách triển khai.
- "Tệp kê khai IdP" hiện có tên là "tệp cấu hình" trong tài liệu. Không bạn bắt buộc phải thay đổi cách triển khai.
id_token_endpoint
trong "tệp cấu hình" được đổi tên thànhid_assertion_endpoint
.- Các yêu cầu tới IdP hiện bao gồm
Sec-Fetch-Dest: webidentity
thay vì tiêu đềSec-FedCM-CSRF: ?1
.
Chrome 105 (tháng 8 năm 2022)
- Đã thêm thông tin bảo mật quan trọng vào tài liệu. Danh tính
nhà cung cấp (IdP) cần kiểm tra xem tiêu đề
Referer
có khớp với nguồn gốc hay không bên bị hạn chế đã đăng ký trước vào điểm cuối mã thông báo nhận dạng. - Tệp kê khai cấp cao nhất được đổi tên từ
/.well-known/fedcm.json
thành/.well-known/web-identity
và URL được chỉ định trongprovider_urls
phải hãy bao gồm tên tệp. - Các phương thức
login()
,logout()
vàrevoke()
trênFederatedCredential
các thực thể không còn tồn tại. - API Quản lý thông tin xác thực liên kết hiện sử dụng một loại mới
IdentityCredential
thay vìFederatedCredential
. Có thể dùng cho nhưng lại là một thay đổi phần lớn không nhìn thấy được. - Di chuyển chức năng đăng nhập từ tổ hợp
navigator.credentials.get()
vàFederatedCredential.prototype.login()
thànhnavigator.credentials.get()
. - Điểm cuối thu hồi trong tệp kê khai không còn hiệu lực.
- Sử dụng trường
identity
thay vì trườngfederated
chonavigator.credentials.get()
cuộc gọi. url
hiện làconfigURL
và phải là URL đầy đủ cho tệp kê khai JSON thay vì đường dẫn cho một cuộc gọinavigator.credentials.get()
.nonce
hiện là một tham số không bắt buộc chonavigator.credentials.get()
.hint
không còn là một lựa chọn chonavigator.credentials.get()
const credential = await navigator.credentials.get({
identity: {
providers: [{
configURL: 'https://idp.example/anything.json',
clientId: '********',
nonce: '******'
}]
}
});
const { token } = credential;
Chrome 104 (tháng 6 năm 2022)
- Hiện tại, tham số
consent_acquired
được gửi đến điểm cuối của mã thông báo giá trị nhận dạngdisclosure_text_shown
. Giá trị không thay đổi. - biểu tượng thương hiệu ở tệp kê khai IdP đã ngừng hỗ trợ hình ảnh SVG, nhưng không cần được của bên bị hạn chế Chính sách bảo mật nội dung.
Chrome 103 (Tháng 5 năm 2022)
- Hỗ trợ môi trường máy tính để bàn.
- Hỗ trợ chế độ cài đặt theo RP trên máy tính.
- Chiến lược phát hành đĩa đơn điểm cuối của siêu dữ liệu ứng dụng giờ là tuỳ chọn. Trong điểm cuối này, bạn cũng không bắt buộc phải thêm URL chính sách quyền riêng tư.
- Thêm một thông báo trước về việc sử dụng CSP
connect-src
trong tài liệu này.