Веб-API для федерации удостоверений, сохраняющей конфиденциальность.
Что такое ФедКМ?
FedCM (федеративное управление учетными данными) — это подход к федеративным службам идентификации, обеспечивающий сохранение конфиденциальности (например, «Войти с помощью...»), который не использует сторонние файлы cookie или навигационные перенаправления.
Статус реализации
- 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, находящимся в стадии активной разработки.
Чтобы свести к минимуму проблемы, связанные с развертыванием обратно несовместимых изменений, у нас есть две рекомендации для поставщиков удостоверений:
- Подпишитесь на нашу рассылку , где мы будем отправлять обновления по мере развития 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 как сигнал доверия для других API
Помимо обработки федеративной идентификации, FedCM также служит сигналом доверия для других API-интерфейсов Privacy Sandbox.
Начиная с Chrome 131, Storage Access API (SAA) использует FedCM в качестве сигнала доверия . Эта интеграция полезна для веб-сайтов, которые полагаются как на FedCM для аутентификации, так и на SAA, чтобы обеспечить доступ iframe из разных источников к необходимому хранилищу.
Когда пользователь проходит аутентификацию с помощью FedCM и дал согласие на использование RP, контент IdP, встроенный на веб-сайт RP, может вызвать метод requestStorageAccess()
чтобы автоматически получить доступ к хранилищу своих собственных файлов cookie верхнего уровня без необходимости дополнительного запроса пользователя. Разрешение будет предоставлено автоматически только в том случае, если пользователь вошел в систему с помощью FedCM и состояние входа в FedCM активно. Дополнительные сведения см. в документации по API доступа к хранилищу .
Кому следует использовать 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
.
Подскажите период восстановления
Если пользователь закрывает пользовательский интерфейс вручную, запись будет временно добавлена в пользовательский интерфейс настроек , и пользовательский интерфейс не будет отображаться на том же веб-сайте в течение определенного периода времени. Пользовательский интерфейс будет снова включен по истечении этого периода, но продолжительность будет экспоненциально увеличиваться при последовательных закрытиях. Например, в Chrome:
Несколько раз подряд закрыто | Период времени, в течение которого приглашение FedCM подавляется |
---|---|
1 | Два часа |
2 | Один день |
3 | Одна неделя |
4+ | Четыре недели |
Другие браузеры могут определять свои собственные периоды времени восстановления.
Пользователи могут повторно включить FedCM на RP вручную, перейдя на страницу настроек или щелкнув пользовательский интерфейс PageInfo (значок замка рядом со строкой URL-адреса) и сбросив разрешение.
Дорожная карта
Мы работаем над внесением ряда изменений в 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.