Веб-API для федерации удостоверений, сохраняющей конфиденциальность.
Что такое ФедКМ?
FedCM (федеративное управление учетными данными) — это подход к федеративным службам идентификации, обеспечивающий сохранение конфиденциальности (например, «Войти с помощью...»), благодаря которому пользователи могут входить на сайты, не передавая свою личную информацию службе идентификации или сайту.
Статус реализации
- Статус платформы Chrome
- FedCM поставляется в Chrome 108.
- Предложение FedCM открыто для общественного обсуждения .
- FedCM пока не поддерживается в других браузерах.
- Mozilla реализует прототип Firefox, а Apple выразила общую поддержку и заинтересованность в совместной работе над предложением FedCM.
В дальнейшем мы планируем представить ряд новых функций на основе отзывов, полученных от поставщиков удостоверений (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 являются значимо связанными сайтами, возможно, вам лучше подойдут наборы связанных веб-сайтов .
Вы являетесь удостоверением личности
FedCM требуется поддержка со стороны поставщика удостоверений. Доверяющая сторона не может использовать FedCM самостоятельно. Если вы являетесь RP, вы можете попросить своего IdP предоставить инструкции.
На вас влияет поэтапный отказ от сторонних файлов cookie
Вам следует использовать FedCM только в том случае, если на вашу текущую интеграцию влияет поэтапный отказ от сторонних файлов cookie.
Если вы не уверены, продолжит ли ваша федерация идентификации работать после прекращения использования сторонних файлов cookie в Chrome, вы можете проверить эффект на веб-сайте, заблокировав сторонние файлы cookie в Chrome .
Если отсутствие сторонних файлов cookie не оказывает заметного влияния на вашу федерацию удостоверений, вы можете продолжить использовать текущую интеграцию без FedCM.
Если вы не уверены, на что обратить внимание, узнайте больше об известных функциях , на которые, как ожидается, повлияет поэтапный отказ.
Ваши RP являются сторонними
Если вы являетесь поставщиком удостоверений, чьи RP имеют непосредственное отношение к IdP, мы ожидаем, что наборы связанных веб-сайтов могут быть лучшим вариантом. Наборы связанных веб-сайтов (RWS) — это способ для организации объявить взаимосвязи между сайтами, чтобы браузеры разрешали ограниченный доступ к сторонним файлам cookie для определенных целей. Это позволяет сторонним файлам cookie работать между наборами связанных по смыслу сайтов даже после постепенного отказа от сторонних файлов cookie.
Как пользователи будут взаимодействовать с FedCM?
В настоящее время основной задачей FedCM является смягчение последствий поэтапного отказа от сторонних файлов cookie. Пользователи могут включить или отключить FedCM в пользовательских настройках Chrome .
FedCM не зависит от протокола и предлагает следующие функции, связанные с аутентификацией.
Посмотрите нашу демо-версию , чтобы увидеть, как это работает.
Войдите в проверяющую сторону
Когда пользователь попадает на веб-сайт проверяющей стороны (RP), появится диалоговое окно входа в FedCM, если пользователь вошел в IdP.
Если у пользователя нет учетной записи на RP с IdP, появится диалоговое окно регистрации с дополнительным текстом раскрытия, таким как условия обслуживания RP и политика конфиденциальности, если они предоставлены.
Пользователь может завершить вход, нажав Продолжить как... . В случае успеха браузер сохраняет тот факт, что пользователь создал федеративную учетную запись на RP с IdP.
Ожидается, что RP будут работать в браузерах, которые не поддерживают FedCM. Пользователи должны иметь возможность использовать существующий процесс входа, отличный от FedCM. Узнайте больше о том, как работает вход в FedCM .
Настройка включения или отключения FedCM
Пользователи могут включать или отключать FedCM в настройках Chrome на Android. Откройте «Настройки» > «Настройки сайта» > «Вход через стороннюю систему» и измените положение переключателя.
![Включите FedCM в настройках Chrome на мобильном устройстве, включив сторонний вход.](https://developers.google.cn/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-acb36abf28b59.jpg?authuser=3&hl=ru)
Они могут сделать то же самое для Chrome на компьютере, перейдя по адресу chrome://settings/content/federatedIdentityApi
.
![Включите FedCM в настройках Chrome на рабочем столе, включив сторонний вход.](https://developers.google.cn/static/privacy-sandbox/assets/images/enable-fedcm-chrome-sett-ebbf4834f6f21.png?authuser=3&hl=ru)
Дорожная карта
Мы работаем над внесением ряда изменений в FedCM.
На основе отзывов уже применено несколько обновлений. Ожидается, что он продолжит развиваться до четвертого квартала 2023 года, по крайней мере, для стабилизации. Пожалуйста, смотрите Обновления для более подробной информации.
- Журнал изменений : обновления API федеративного управления учетными данными.
Мы знаем, что есть несколько вещей, которые еще предстоит сделать, включая проблемы, о которых мы слышали от поставщиков удостоверений, RP и поставщиков браузеров. Мы считаем, что знаем, как решить эти проблемы:
- Поддержка iframe перекрестного происхождения : поставщики удостоверений могут вызывать FedCM из iframe перекрестного происхождения ( обновление ).
- Персонализированная кнопка . Поставщики удостоверений могут отображать удостоверение возвращающегося пользователя на кнопке входа в 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 .
Соблюдение законов о конфиденциальности электронной почты
Использование FedCM в качестве IdP или RP предполагает хранение информации на конечном оборудовании пользователя или доступ к информации, уже хранящейся в нем, и, следовательно, является деятельностью, подпадающей под действие законов о конфиденциальности электронной информации в Европейской экономической зоне (ЕЭЗ) и Великобритании. обычно требуется согласие пользователя. Вы несете ответственность за определение того, является ли использование FedCM строго необходимым для предоставления онлайн-услуг, явно запрошенных пользователем, и, следовательно, освобождается от требования согласия. Для получения дополнительной информации мы рекомендуем вам прочитать часто задаваемые вопросы о соблюдении конфиденциальности в Privacy Sandbox.