Веб-API для федерации удостоверений, сохраняющей конфиденциальность.
Что такое ФедКМ?
FedCM (федеративное управление учетными данными) — это подход к федеративным службам идентификации, обеспечивающий сохранение конфиденциальности (например, «Войти с помощью...»), благодаря которому пользователи могут входить на сайты, не передавая свою личную информацию службе идентификации или сайту.
Статус реализации
- Chrome Platform Status
- FedCM shipped in Chrome 108.
- The FedCM proposal is open for public discussion.
- FedCM isn't supported in other browsers yet.
- Mozilla is implementing a prototype for Firefox and Apple has expressed general support and interest in working together on the FedCM proposal.
В дальнейшем мы планируем представить ряд новых функций на основе отзывов, полученных от поставщиков удостоверений (IdP), проверяющих сторон (RP) и поставщиков браузеров. Хотя мы надеемся, что поставщики удостоверений примут FedCM, имейте в виду, что FedCM все еще является API, находящимся в активной разработке, и что изменения, несовместимые с предыдущими версиями, ожидаются до четвертого квартала 2023 года.
Чтобы свести к минимуму проблемы, связанные с развертыванием обратно несовместимых изменений, в настоящее время у нас есть две рекомендации для поставщиков удостоверений:
- Подпишитесь на нашу рассылку , где мы будем отправлять обновления по мере развития API.
- Мы призываем IdP распространять API FedCM через JavaScript SDK, пока API находится в стадии разработки, и не поощрять RP использовать SDK на собственном хостинге. Это позволит поставщикам удостоверений вносить изменения по мере развития API без необходимости просить все проверяющие стороны выполнить его повторное развертывание.
Зачем нам нужен FedCM?
За последнее десятилетие федерация идентификации сыграла центральную роль в повышении планки аутентификации в Интернете с точки зрения надежности, простоты использования (например, единый вход без пароля) и безопасности (например, повышенная устойчивость от фишинга и атак с подтасовкой учетных данных) по сравнению с именами пользователей и паролями для каждого сайта.
При федерации удостоверений RP (проверяющая сторона) полагается на IdP (поставщика удостоверений), чтобы предоставить пользователю учетную запись, не требуя нового имени пользователя и пароля.
К сожалению, механизмы, на которые опиралась федерация идентификации (iframe, перенаправление и файлы cookie), активно используются для отслеживания пользователей в сети. Поскольку пользовательский агент не может различать федерацию удостоверений и отслеживание, меры по смягчению последствий различных типов злоупотреблений усложняют развертывание федерации удостоверений.
API управления федеративными учетными данными (FedCM) предоставляет абстракцию для конкретных вариантов использования для федеративных потоков удостоверений в Интернете, предоставляя диалоговое окно, опосредованное браузером, которое позволяет пользователям выбирать учетные записи из IdP для входа на веб-сайты.
FedCM — это многоэтапный путь к улучшению идентификации в Интернете, и на первом этапе мы сосредоточены на снижении влияния поэтапного отказа от сторонних файлов cookie на федеративную идентификацию (см. раздел «Дорожная карта» , чтобы увидеть несколько дальнейших шагов). .
Что, по нашему мнению, пострадает?
Благодаря усилиям сообщества и нашим исследованиям мы узнали, что есть несколько интеграций, связанных с федерацией удостоверений, на которые влияет поэтапный отказ от сторонних файлов cookie:
- Выход из переднего канала OpenID Connect
- Управление сеансами OpenID Connect
- Обновление фонового токена на основе iframe
- Виджеты входа на основе iframe
Первой целью FedCM является снижение влияния поэтапного отказа от сторонних файлов cookie на федерацию удостоверений, и выше приведен список областей, которые, как мы ожидаем, будут затронуты. Если есть какие-либо дополнительные варианты использования, которые мы не перечислили, мы рекомендуем вам принять участие и поделиться отзывами .
Кому следует использовать FedCM?
Мы ожидаем, что FedCM будет вам полезен только при соблюдении всех этих условий:
- Вы являетесь поставщиком удостоверений (IdP).
- На вас влияет поэтапный отказ от сторонних файлов cookie.
- Ваши RP являются сторонними. Если ваши RP — SameParty , возможно, вам лучше подойдут наборы связанных веб-сайтов , ранее называвшиеся собственными наборами .
Вы являетесь удостоверением личности
FedCM требуется поддержка со стороны поставщика удостоверений. Доверяющая сторона не может использовать FedCM самостоятельно. Если вы являетесь RP, вы можете попросить своего IdP предоставить инструкции.
На вас влияет поэтапный отказ от сторонних файлов cookie
Вам следует использовать FedCM только в том случае, если на вашу текущую интеграцию влияет поэтапный отказ от сторонних файлов cookie.
Если вы не уверены, продолжит ли ваша федерация идентификации работать после прекращения использования сторонних файлов cookie в Chrome, вы можете проверить эффект на веб-сайте, заблокировав сторонние файлы cookie в Chrome .
Если отсутствие сторонних файлов cookie не оказывает заметного влияния на вашу федерацию удостоверений, вы можете продолжить использовать текущую интеграцию без FedCM.
Если вы не уверены, на что обратить внимание, узнайте больше об известных функциях , на которые, как ожидается, повлияет поэтапный отказ.
Ваши RP являются сторонними
Если вы являетесь поставщиком удостоверений, чьи RP принадлежат той же стороне , что и ваш IdP, мы ожидаем, что наборы связанных веб-сайтов могут быть лучшим вариантом. Наборы связанных веб-сайтов позволяют связанным доменным именам, принадлежащим и управляемым одной и той же организацией, объявлять себя принадлежащими одной и той же первой стороне. Это позволяет сторонним файлам cookie той же стороны работать даже после прекращения использования сторонних файлов cookie.
Связанные наборы веб-сайтов не всегда можно использовать. Однако, если ваши RP — SameParty , рассмотрите возможность использования наборов связанных веб-сайтов.
Как пользователи будут взаимодействовать с FedCM?
В настоящее время основной задачей FedCM является смягчение последствий поэтапного отказа от сторонних файлов cookie. Пользователи могут включить или отключить FedCM в пользовательских настройках Chrome .
FedCM не зависит от протокола и предлагает следующие функции, связанные с аутентификацией.
Посмотрите нашу демо-версию , чтобы увидеть, как это работает.
Войдите в проверяющую сторону
Когда пользователь попадает на веб-сайт проверяющей стороны (RP), появится диалоговое окно входа в FedCM, если пользователь вошел в IdP.
Если у пользователя нет учетной записи на RP с IdP, появится диалоговое окно регистрации с дополнительным текстом раскрытия, таким как условия обслуживания RP и политика конфиденциальности, если они предоставлены.
Пользователь может завершить вход, нажав Продолжить как... . В случае успеха браузер сохраняет тот факт, что пользователь создал федеративную учетную запись на RP с IdP.
Ожидается, что RP будут работать в браузерах, которые не поддерживают FedCM. Пользователи должны иметь возможность использовать существующий процесс входа, отличный от FedCM. Узнайте больше о том , как работает вход в FedCM .
Настройка включения или отключения FedCM
Пользователи могут включить или отключить FedCM в настройках Chrome на Android. Откройте «Настройки» > «Настройки сайта» > «Вход через стороннюю систему» и измените положение переключателя.
Они могут сделать то же самое для Chrome на компьютере, перейдя по адресу chrome://settings/content/federatedIdentityApi
.
Дорожная карта
Мы работаем над внесением ряда изменений в FedCM.
На основании отзывов уже применено несколько обновлений. Ожидается, что он продолжит развиваться до четвертого квартала 2023 года, по крайней мере, для стабилизации. Пожалуйста, смотрите Обновления для более подробной информации.
- Журнал изменений : обновления API федеративного управления учетными данными.
Мы знаем, что есть несколько вещей, которые еще предстоит сделать, включая проблемы, о которых мы слышали от поставщиков удостоверений, RP и поставщиков браузеров. Мы уверены, что знаем, как решить эти проблемы:
- Поддержка iframe из разных источников : поставщики удостоверений могут вызывать FedCM из iframe из разных источников ( update ).
- Персонализированная кнопка : поставщики удостоверений могут отображать удостоверение возвращающегося пользователя на кнопке входа в iframe, принадлежащем поставщику удостоверений ( update ).
- Конечная точка метрик : предоставляет поставщикам удостоверений метрики производительности.
Кроме того, существуют нерешенные проблемы, которые мы активно изучаем, включая конкретные предложения, которые мы оцениваем или создаем прототипы:
- CORS : Мы ведем переговоры с Apple и Mozilla , чтобы улучшить спецификации выборок FedCM.
- API для нескольких IdP : мы изучаем способы поддержки нескольких IdP для совместного существования в средстве выбора учетной записи FedCM.
- API статуса входа в систему IdP : Mozilla обнаружила проблему временной атаки , и мы изучаем способы, с помощью которых IdP может активно уведомлять браузер о статусе входа пользователя , чтобы устранить эту проблему.
- Вход в API IdP . Для поддержки различных сценариев , когда пользователь не выполнил вход в IdP, браузер предоставляет пользователю пользовательский интерфейс для входа в систему, не выходя из RP ( обновление ).
Наконец, есть вещи, которые, по нашему мнению, еще необходимо сделать, основываясь на отзывах рецензентов Mozilla , Apple и TAG . Мы работаем над тем, чтобы оценить лучшие решения этих открытых вопросов:
- Улучшение понимания пользователем и сопоставления намерений . Как отметила Mozilla , мы хотели бы продолжить изучение различных формулировок UX и областей применения, а также критериев запуска.
- Атрибуты идентичности и выборочное раскрытие . Как отметили наши рецензенты TAG , мы хотели бы предоставить механизм для выборочного обмена большим или меньшим количеством атрибутов идентичности (таких как электронные письма, возрастные группы, номера телефонов и т. д.).
- Повышение свойств конфиденциальности . Как предлагает здесь Mozilla, мы хотели бы продолжить изучение механизмов, обеспечивающих лучшие гарантии конфиденциальности, таких как слепота IdP и направленные идентификаторы.
- Отношения с WebAuthn : Как было предложено Apple , мы очень рады видеть прогресс в разработке ключей доступа и работать над обеспечением согласованного и связного взаимодействия между FedCM, Passwords, WebAuthn и WebOTP.
- Статус входа в систему : Как предложила Apple в API статуса входа в Privacy CG, мы разделяем интуитивное понимание того, что статус входа пользователя — это полезная информация, которая может помочь браузерам принимать обоснованные решения, и мы рады видеть, какие возможности открываются в результате этого.
- Предприятия и образование . Как ясно из группы FedID CG, существует еще множество вариантов использования , которые не очень хорошо обслуживаются FedCM, над которыми мы хотели бы поработать, например:
выход из переднего канала (возможность IdP отправлять сигнал RP для выхода из системы) и поддержка SAML. - Отношения с mDL/VC/и т. д .: продолжайте работать, чтобы понять, как они сочетаются с FedCM, например, с API запроса мобильных документов .
Использование API FedCM
Для использования FedCM вам необходим безопасный контекст (HTTPS или локальный хост) как на IdP, так и на RP в Chrome.
Для интеграции с FedCM вам необходимо создать общеизвестный файл, файл конфигурации и конечные точки для списка учетных записей, выдачи утверждений и, при необходимости, метаданных клиента. Отсюда FedCM предоставляет API-интерфейсы JavaScript, которые RP могут использовать для входа в систему с помощью IdP.
Чтобы узнать, как использовать API FedCM, ознакомьтесь с руководством разработчика FedCM .
Привлекайте и делитесь отзывами
- GitHub : читайте пояснение , поднимайте вопросы и следите за обсуждением .
- Поддержка разработчиков : задавайте вопросы и присоединяйтесь к обсуждениям в репозитории поддержки разработчиков Privacy Sandbox .