Веб-API для федерации удостоверений, сохраняющей конфиденциальность.
Что такое ФедКМ?
FedCM (федеративное управление учетными данными) — это подход к федеративным службам идентификации, обеспечивающий сохранение конфиденциальности (например, «Войти с помощью...»), благодаря которому пользователи могут входить на сайты, не передавая свою личную информацию службе идентификации или сайту.
Статус реализации
- Статус платформы Chrome
- FedCM поставляется в Chrome 108.
- Предложение FedCM открыто для общественного обсуждения .
- FedCM пока не поддерживается в других браузерах.
- Mozilla реализует прототип Firefox, а Apple выразила общую поддержку и заинтересованность в совместной работе над предложением FedCM.
В дальнейшем мы планируем представить ряд новых функций на основе отзывов, полученных от поставщиков удостоверений (IdP), проверяющих сторон (RP) и поставщиков браузеров. Хотя мы надеемся, что поставщики удостоверений примут FedCM, имейте в виду, что FedCM все еще является API, находящимся в стадии активной разработки.
Чтобы свести к минимуму проблемы, связанные с развертыванием обратно несовместимых изменений, у нас есть две рекомендации для поставщиков удостоверений:
- Подпишитесь на нашу рассылку , где мы будем отправлять обновления по мере развития 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 недоступны, вы можете проверить эффект на веб-сайте, заблокировав сторонние файлы cookie в Chrome .
Если отсутствие сторонних файлов cookie не оказывает заметного влияния на вашу федерацию удостоверений, вы можете продолжить использовать текущую интеграцию без FedCM.
Если вы не уверены, что проверять, узнайте больше об известных функциях , на которые, как ожидается, будут влиять ограничения сторонних файлов cookie.
Ваши 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. Откройте «Настройки» > «Настройки сайта» > «Вход через стороннюю систему» и измените положение переключателя.
Они могут сделать то же самое для Chrome на компьютере, перейдя по адресу chrome://settings/content/federatedIdentityApi
.
Дорожная карта
Мы работаем над внесением ряда изменений в FedCM. См. «Обновления» для получения более подробной информации.
- Журнал изменений : обновления 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.