API Federated Credential Management API включен в Chrome 108, но ожидается, что он будет продолжать развиваться. Критических изменений не запланировано.
Для кого эти обновления?
Эти обновления для вас, если:
- Вы являетесь поставщиком удостоверений, использующим API федеративного управления учетными данными.
- Вы являетесь IdP или RP и заинтересованы в расширении API в соответствии с вашим вариантом использования – например, вы наблюдали или участвовали в обсуждениях в репозитории FedID CG и хотите понять изменения, внесенные в API.
- Вы являетесь поставщиком браузера и хотите быть в курсе статуса реализации API.
Если вы новичок в этом API или еще не экспериментировали с ним, прочтите введение в API Federated Credential Management API .
Журнал изменений
Чтобы быть в курсе изменений API FedCM, посетите наш блог или информационный бюллетень .
Chrome 125 (апрель 2024 г.)
- Поскольку в спецификации имя «конечные точки списка учетных записей» изменено на «конечная точка учетных записей», наша документация приведена в соответствие соответствующим образом.
- Пробная версия Origin для API режима кнопок доступна на настольном компьютере Chrome 125. Подробную информацию об этом можно найти в обновлениях FedCM: пробная версия API режима кнопок, CORS и SameSite .
- CORS применяется к конечной точке утверждения идентификатора, начиная с Chrome 125.
- Chrome будет отправлять только файлы cookie, явно помеченные как
SameSite=None
в конечную точку утверждения идентификатора и конечную точку учетных записей, начиная с Chrome 125.
Chrome 123 (февраль 2024 г.)
- Добавлена поддержка API-интерфейса Domain Hint . API-интерфейс Domain Hint позволяет RP указывать свойство
domainHint
при вызове API FedCM, чтобы отображать для пользователя только соответствующие учетные записи.
Chrome 122 (январь 2024 г.)
- Добавлена поддержка Disconnect API . API Disconnect позволяет RP отключать своих пользователей от учетной записи IdP, не полагаясь на сторонние файлы cookie.
- Проверка
/.well-known/web-identity
теперь пропускается, если RP и IdP находятся на одном сайте. - Подресурсы теперь могут устанавливать статус входа на один и тот же сайт.
Chrome 121 (декабрь 2023 г.)
- Смягченное условие для запуска автоматической повторной аутентификации FedCM:
- Функция автоматической повторной аутентификации в FedCM срабатывает только тогда, когда пользователь возвращается. Это означает, что пользователю необходимо один раз войти в RP с помощью FedCM в каждом экземпляре браузера, прежде чем можно будет запустить автоматическую повторную аутентификацию. Первоначально это условие было введено для снижения риска того, что трекеры выдают себя за поставщика удостоверений (IdP) и обманом заставляют браузер автоматически проходить повторную аутентификацию пользователя без его ведома или согласия. Однако этот дизайн не может гарантировать преимущества конфиденциальности, если трекер имеет доступ к сторонним файлам cookie в контексте RP. FedCM предоставляет только часть возможностей, доступных через сторонние файлы cookie, поэтому, если у средства отслеживания уже есть доступ к сторонним файлам cookie в контексте RP, доступ к FedCM не представляет дополнительного риска для конфиденциальности.
Поскольку сторонние файлы cookie используются законно, и ослабление условия улучшит пользовательский интерфейс, это поведение меняется с Chrome 121. Мы решили ослабить ограничение условия, чтобы считать пользователя возвращающимся: если сторонние файлы cookie доступный поставщику удостоверений в контексте RP, Chrome будет доверять утверждению поставщика удостоверений о статусе учетной записи пользователя, указанному в спискеapproved_clients
, и запускать автоматическую повторную аутентификацию, если это применимо. Сторонние файлы cookie могут быть доступны через: пользовательские настройки, корпоративные политики, эвристику ( Safari , Firefox , Chrome ) и другие API-интерфейсы веб-платформы (например, API доступа к хранилищу ). Обратите внимание, что когда IdP потеряет доступ к сторонним файлам cookie в будущем, если пользователь никогда раньше явно не предоставлял разрешение на использование пользовательского интерфейса FedCM (например, нажимая кнопку «Продолжить как »), он все равно будет рассматриваться как новый пользователь.
Никаких действий со стороны разработчика не требуется. Обратите внимание, что с этим изменением процесс автоматической повторной аутентификации может активироваться в большей степени, если поставщик удостоверений имеет доступ к сторонним файлам cookie и утверждает, что пользователь уже создал учетную запись на RP в прошлом.
- Функция автоматической повторной аутентификации в FedCM срабатывает только тогда, когда пользователь возвращается. Это означает, что пользователю необходимо один раз войти в RP с помощью FedCM в каждом экземпляре браузера, прежде чем можно будет запустить автоматическую повторную аутентификацию. Первоначально это условие было введено для снижения риска того, что трекеры выдают себя за поставщика удостоверений (IdP) и обманом заставляют браузер автоматически проходить повторную аутентификацию пользователя без его ведома или согласия. Однако этот дизайн не может гарантировать преимущества конфиденциальности, если трекер имеет доступ к сторонним файлам cookie в контексте RP. FedCM предоставляет только часть возможностей, доступных через сторонние файлы cookie, поэтому, если у средства отслеживания уже есть доступ к сторонним файлам cookie в контексте RP, доступ к FedCM не представляет дополнительного риска для конфиденциальности.
Chrome 120 (ноябрь 2023 г.)
- Добавлена поддержка следующих трех функций в Chrome 120:
- API статуса входа : API статуса входа — это механизм, с помощью которого веб-сайт, особенно IdP, сообщает браузеру статус входа пользователя. С помощью этого API браузер может сократить количество ненужных запросов к IdP и снизить потенциальные атаки по времени. API статуса входа является обязательным требованием для FedCM. Благодаря этому изменению флаг
chrome://flags/#fedcm-without-third-party-cookies
больше не требуется для включения FedCM, когда сторонние файлы cookie заблокированы. - API ошибок : API ошибок уведомляет пользователя, показывая пользовательский интерфейс браузера с информацией об ошибке, предоставленной IdP.
- API с автоматически выбранным флагом . API с автоматически выбранным флагом сообщает, было ли получено явное разрешение пользователя путем нажатия кнопки «Продолжить как» как с IdP, так и с RP, всякий раз, когда происходила автоматическая повторная аутентификация или происходило явное посредничество. Совместное использование происходит только после того, как пользователю будет предоставлено разрешение на взаимодействие с IdP и RP.
- API статуса входа : API статуса входа — это механизм, с помощью которого веб-сайт, особенно IdP, сообщает браузеру статус входа пользователя. С помощью этого API браузер может сократить количество ненужных запросов к IdP и снизить потенциальные атаки по времени. API статуса входа является обязательным требованием для FedCM. Благодаря этому изменению флаг
Chrome 117 (сентябрь 2023 г.)
- Пробная версия Origin для API статуса входа в систему IdP доступна на Android из Chrome 117. Подробнее об этом читайте в обновлениях FedCM: API статуса входа в систему IdP, подсказка для входа и многое другое .
Chrome 116 (август 2023 г.)
- Добавлена поддержка следующих трех функций в Chrome 116:
- API подсказки для входа : укажите предпочитаемую учетную запись пользователя для входа.
- API информации о пользователе : получение информации о возвращающемся пользователе, чтобы поставщик удостоверений (IdP) мог отображать персонализированную кнопку входа в iframe.
- RP Context API : используйте заголовок, отличный от «Вход» в диалоговом окне FedCM.
- Доступна пробная версия Origin для API статуса входа в систему IdP. Узнайте больше об этом в обновлениях FedCM: API статуса входа в систему IdP, подсказка для входа и многое другое .
Chrome 115 (июнь 2023 г.)
- Добавлена поддержка автоматической повторной аутентификации, которая позволяет пользователям автоматически проходить повторную аутентификацию, когда они возвращаются после первоначальной аутентификации с помощью FedCM. Это улучшает взаимодействие с пользователем и обеспечивает более упрощенную повторную аутентификацию на RP после первоначальной аутентификации. Узнайте больше об автоматической повторной аутентификации FedCM .
Chrome 110 (февраль 2023 г.)
- Для конечной точки утверждения идентификатора поставщикам удостоверений необходимо проверить заголовок
Origin
(вместо заголовкаReferer
), чтобы увидеть, соответствует ли значение источнику идентификатора клиента. - Теперь доступна поддержка iframe из разных источников для FedCM. Разработчик должен указать Permissions-Policyidentity
identity-credentials-get
чтобы разрешить API FedCM во встроенном iframe с перекрестным происхождением. Вы можете посмотреть пример iframe с перекрестным происхождением. - Добавлен новый флаг Chrome
chrome://flags/#fedcm-without-third-party-cookies
. С помощью этого флага вы можете протестировать функциональность FedCM в Chrome, заблокировав сторонние файлы cookie. Узнайте больше из документации FedCM .
Chrome 108 (октябрь 2022 г.)
- «Манифест верхнего уровня» теперь называется в документе «общеизвестным файлом». Никаких изменений реализации не требуется.
- «Манифест IdP» теперь называется в документе «файлом конфигурации». Никаких изменений реализации не требуется.
-
id_token_endpoint
в «файле конфигурации» переименован вid_assertion_endpoint
. - Запросы к IdP теперь включают заголовок
Sec-Fetch-Dest: webidentity
вместо заголовкаSec-FedCM-CSRF: ?1
.
Chrome 105 (август 2022 г.)
- В документ добавлена важная информация о безопасности. Поставщик удостоверений (IdP) должен проверить, соответствует ли заголовок
Referer
источнику, который RP заранее зарегистрировал в конечной точке токена идентификатора . - Манифест верхнего уровня переименовывается с
/.well-known/fedcm.json
на/.well-known/web-identity
, а URL-адрес, указанный вprovider_urls
должен включать имя файла. - Методы
login()
,logout()
иrevoke()
в экземплярахFederatedCredential
больше недоступны. - API Federated Credential Management теперь использует новый тип
IdentityCredential
вместоFederatedCredential
. Это можно использовать для обнаружения функций, но в остальном это практически незаметное изменение. - Переместите функцию входа из комбинации
navigator.credentials.get()
иFederatedCredential.prototype.login()
вnavigator.credentials.get()
. - Конечная точка отзыва в манифесте больше не действует.
- Используйте поле
identity
вместоfederated
поля для вызововnavigator.credentials.get()
. -
url
теперь являетсяconfigURL
и должен быть полным URL-адресом JSON-файла манифеста, а не путем для вызоваnavigator.credentials.get()
. -
nonce
теперь является необязательным параметром дляnavigator.credentials.get()
. -
hint
больше не доступна в качестве опции дляnavigator.credentials.get()
.
const credential = await navigator.credentials.get({
identity: {
providers: [{
configURL: 'https://idp.example/anything.json',
clientId: '********',
nonce: '******'
}]
}
});
const { token } = credential;
Chrome 104 (июнь 2022 г.)
- Параметр
consent_acquired
, отправляемый в конечную точку токена идентификатора, теперь имеетdisclosure_text_shown
. Значение не меняется. - значки фирменного оформления в манифесте IdP перестали поддерживать изображения SVG, но больше не должны быть разрешены Политикой безопасности контента RP.
Chrome 103 (май 2022 г.)
- Поддерживает среды рабочего стола.
- Поддерживает настройки для каждого RP на рабочем столе.
- Конечная точка метаданных клиента теперь необязательна. В этой конечной точке URL-адрес политики конфиденциальности также не является обязательным.
- В документ добавлено предостережение по поводу использования CSP
connect-src
.