Обновления API федеративного управления учетными данными

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 г.)

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 в прошлом.

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.

Chrome 117 (сентябрь 2023 г.)

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 г.)

Chrome 103 (май 2022 г.)

  • Поддерживает среды рабочего стола.
  • Поддерживает настройки для каждого RP на рабочем столе.
  • Конечная точка метаданных клиента теперь необязательна. В этой конечной точке URL-адрес политики конфиденциальности также не является обязательным.
  • В документ добавлено предостережение по поводу использования CSP connect-src .

Ресурсы