Опубликовано: 12 января 2026 г.
В Chrome 143 внесены обновления в API управления федеративными учетными данными (FedCM) для повышения конфиденциальности, удобства работы разработчиков и совместимости с браузерами. Эти изменения основаны на отзывах поставщиков идентификационных данных (IdP), зависимых сторон (RP) и веб-сообщества.
Основные обновления следующие:
- Поддержка структурированных JSON-ответов
- Более строгая проверка метаданных клиента.
- Улучшения согласованности API
Поддержка структурированных JSON-ответов от конечной точки подтверждения идентификатора.
Ранее конечная точка проверки идентификатора FedCM требовала, чтобы свойство token в ответе было строковым. Это вынуждало разработчиков вручную сериализовать данные в строку JSON на сервере и анализировать их на стороне клиента.
Начиная с Chrome версии 143, конечная точка проверки идентификатора поддерживает структурированный JSON-объект в качестве значения свойства token , например:
{
"token": {
"access_token": "a1b2c3d4e5f6...",
"user_info": {
"email": "jane.doe@company.example",
"given_name": "Jane",
"family_name": "Doe"
}
}
}
Это изменение устраняет необходимость в ручной сериализации и анализе JSON и позволяет поставщикам идентификации возвращать дополнительную информацию.
Попробуйте эту функцию в демонстрационной версии FedCM или обратитесь к руководству «Внедрение FedCM на стороне поставщика идентификации» для получения актуальной информации о структуре ответа конечной точки подтверждения идентификатора.
Проверка метаданных клиента
Для лучшей защиты конфиденциальности пользователей FedCM усиливает проверку подлинности конечных точек IdP. Это изменение предотвращает сопоставление IdP с RP (Registered Point) с уникальным идентификатором, переданным в качестве параметра пути.
Если в вашей конфигурации FedCM используется конечная точка client_metadata , необходимо включить accounts_endpoint и login_url в файл .well-known/web-identity . Начиная с Chrome 145, браузер принудительно включает параметр accounts_endpoint из файла well-known .
{
"accounts_endpoint": "/example-accounts",
"login_url": "/example-login"
}
Более подробную информацию см. в руководстве по внедрению FedCM .
Обновления API для обеспечения согласованности и обработки ошибок.
В Chrome 143 внесены два изменения для повышения ясности и согласованности API FedCM во всех браузерах, что соответствует отзывам веб-экосистемы .
Переместите параметр nonce
Начиная с версии 145, Chrome прекращает поддержку параметра nonce верхнего уровня. Параметр nonce необходимо передавать в объекте params при вызове метода navigator.credentials.get() :
const credential = await navigator.credentials.get({
identity: {
providers: [{
// Don't pass nonce as a top-level parameter here
configURL: "/fedcm.json",
clientId: "123",
params: {
// Place nonce within the params object
nonce: "a-random-nonce"
}
}]
}
});
Убедитесь, что ваша серверная логика ожидает получения nonce из объекта params в конечной точке утверждения ID .
Переименуйте IdentityCredentialError.code в IdentityCredentialError.error
Чтобы предотвратить конфликты имен со встроенным свойством DOMException.code , свойство IdentityCredentialError.code было переименовано в IdentityCredentialError.error . Это изменение будет применяться начиная с Chrome версии 145.
try {
// FedCM API call
} catch (e) {
// Renamed IdentityCredentialError.code to IdentityCredentialError.error:
console.log(e.error);
}
Для обеспечения обратной совместимости в переходный период (Chrome 143 и 144) проверьте свойства code и error в вашей логике обработки ошибок. Это гарантирует, что ваше решение будет работать в старых браузерах, пока пользователи обновляются до более новых версий Chrome.
// In older browsers, the property might still be named 'code'
// during the transition period
const errorCode = e.error ?? e.code;
if (errorCode) {
// Handle specific error types
} else {
console.error("An unknown error occurred", e);
}
Подробнее см. в разделе «Возвращение ответа об ошибке» документации FedCM.
Поделитесь своим мнением.
Мы ценим ваши отзывы, поскольку продолжаем развивать и совершенствовать FedCM. Если у вас есть замечания или вы столкнулись с какими-либо проблемами:
- Создайте заявку в нашем репозитории GitHub .
- Подпишитесь на нашу рассылку для разработчиков , чтобы быть в курсе последних новостей.