Nội dung cập nhật về API Federated Credential Management

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)

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)

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ách approved_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ế.

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.

Chrome 117 (Tháng 9 năm 2023)

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ành id_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 trong provider_urls phải hãy bao gồm tên tệp.
  • Các phương thức login(), logout()revoke() trên FederatedCredential 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()FederatedCredential.prototype.login() thành navigator.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ường federated cho navigator.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ọi navigator.credentials.get().
  • nonce hiện là một tham số không bắt buộc cho navigator.credentials.get().
  • hint không còn là một lựa chọn cho navigator.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ạng disclosure_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.

Tài nguyên