Изменения в FedCM в Chrome 143: структурированные утверждения ID, более строгие метаданные клиента и обновления API
Chrome 143 (опубликован 12 января 2026 года) вводит несколько изменений в FedCM (Управление федеративными учетными данными), которые имеют непосредственное значение для команд полного стека, разрабатывающих потоки входа в веб. Обновление позволяет поставщикам идентификации (IdP) возвращать структурированный JSON в утверждении ID, ужесточает проверку client_metadata (браузер начнет применять обязательные поля) и вносит несколько разрушающих изменений в API/формат, которые будут применены в Chrome 145. (developer.chrome.com)
Почему это важно
- Это не необязательные изменения в UX: они изменяют формат данных, которые возвращают ваши конечные точки IdP, и то, что Chrome будет принимать при сопоставлении RP с IdP. Если вы хостите IdP или полагаетесь на интегрированный вход FedCM, это изменение может привести к молчаливому сбою входа, как только Chrome 145 будет выпущен.
- Изменения затрагивают как клиентский код (вызовы navigator.credentials.get(), обработка ошибок и место, где вы включаете nonce), так и серверные конечные точки (.well-known/web-identity и ответ на утверждение ID).
- Chrome предоставляет переходный период (Chrome 143–144), в течение которого старое и новое поведение сосуществуют, но командам необходимо обновиться до применения в Chrome 145.
Ключевые технические изменения (кратко)
- Токен утверждения ID может быть структурированным объектом JSON вместо сериализованной строки (например, { token: { access_token: "...", user_info: { email: "..."} } }). Это устраняет необходимость в ручной сериализации JSON на стороне сервера и парсинга на стороне клиента. (developer.chrome.com)
- Проверка client_metadata стала более строгой: если вы используете конечную точку client_metadata, ваш .well-known/web-identity должен включать accounts_endpoint и login_url; Chrome 145 будет применять проверку accounts_endpoint. (developer.chrome.com)
- Изменения формата API / ошибок: верхний уровень nonce перемещается в объект params, используемый с navigator.credentials.get(...), а IdentityCredentialError.code переименовывается в IdentityCredentialError.error — обрабатывайте оба во время перехода. (developer.chrome.com)
Практический контрольный список для команд полного стека (высокое влияние, низкое трение)
- Обновите ответы утверждений ID IdP
- Возвращайте реальный объект JSON для
token(не JSON-строку). Добавьте любые дополнительные утверждения под стабильной структурой (access_token, user_info и т. д.). - Убедитесь, что логика подписи/проверки на стороне сервера принимает структурированный формат токена, который ожидает ваш RP.
- Возвращайте реальный объект JSON для
- Проверьте и опубликуйте метаданные well-known
- Убедитесь, что ваш .well-known/web-identity включает обязательные поля: как минимум
accounts_endpointиlogin_url. - Протестируйте обнаружение конечных точек и формы ответов на этапе с использованием Chrome 143.
- Убедитесь, что ваш .well-known/web-identity включает обязательные поля: как минимум
- Обновите интеграцию клиента
- Переместите
nonceв объектparams, передаваемый в navigator.credentials.get({...}). Избегайте верхнего уровняnonce. - Обновите обработку ошибок, чтобы проверять как
e.error, так иe.codeв течение переходного периода 143–144. - Добавьте обнаружение функций и плавный откат для браузеров, которые не поддерживают новые форматы.
- Переместите
- Проверьте поведение и регрессии в разных браузерах
- Запустите сквозные тесты с Chrome 143+ и с более старыми браузерами. Используйте демонстрацию FedCM и рекомендации по реализации в документации Chrome для проверки потоков. (developer.chrome.com)
- Развертывание с телеметрией и поэтапными флагами функций
- Разверните изменения на сервере за переключателем, включите для небольшой доли трафика и отслеживайте уровни отказов аутентификации и оттока пользователей перед полным развертыванием.
- Добавьте логирование для обнаружения, выборок .well-known и ошибок парсинга утверждений идентичности.
- CI / безопасность
- Добавьте тест, который извлекает .well-known и проверяет наличие обязательных ключей client_metadata.
- Если вы IdP, рассматривайте это изменение как изменение, нарушающее совместимость, и уведомите RP или клиентов с помощью руководств по интеграции.
Сроки и риски
- Переходный период: Chrome 143–144 поддерживает как старые, так и новые форматы. Применение начнется в Chrome 145 — обновитесь до этого выпуска, чтобы избежать сбоев в производстве. (developer.chrome.com)
- Уровень риска: высокий для IdP и RP, которые не проверили свои .well-known и парсинг утверждений; средний для потребительских сайтов, использующих сторонние IdP (подтвердите с поставщиками).
Итог Если ваш стек обрабатывает вход с помощью FedCM (либо как IdP, либо как RP), рассматривайте это как изменение API на уровне платформы: обновите выходные данные утверждений ID, опубликуйте обязательные метаданные, измените обработку nonce/ошибок клиента и протестируйте в Chrome 143 сейчас. Используйте переходный период 143–144, чтобы безопасно внести изменения перед применением в Chrome 145. (developer.chrome.com)
Источник: (Chrome для разработчиков) (developer.chrome.com)
Источник
Читать дальше
Undici CVE-2026-22036: неограниченная цепочка декомпрессии приводит к исчерпанию ресурсов — выпущены патчи
30 января 2026 г.14 января 2026 года в уведомлении о безопасности для undici (HTTP-клиент Node.js) описывается уязвимость неограниченной цепочки декомпрессии, которая может привести к высокому использованию CPU и памяти. Команды полного стека должны найти и обновить затронутые версии undici и добавить легкие защитные меры на уровне выполнения.
Уязвимость CSRF в Server Actions React Router / Remix (CVE-2026-22030)
29 января 2026 г.React Router и @remix-run/server-runtime устранили проблему CSRF средней степени серьезности, затрагивающую обработчики действий на стороне сервера и нестабильные действия сервера React — что полностековым командам необходимо проверить и исправить сейчас.
GitHub Actions 1‑vCPU Linux Runner теперь доступен для общего пользования
28 января 2026 г.GitHub представил новый недорогой контейнеризированный 1‑vCPU Linux runner (ubuntu-slim), который теперь доступен в GitHub Actions — что должны знать и делать в первую очередь команды полного стека.