Начиная с Chrome 128, API Multi-IdP начинает пробную версию origin на десктопе, а API Button Mode и пакет Continuation начинают пробную версию origin на Android. С функцией Multi IdP разработчики могут указать массив из нескольких поддерживаемых поставщиков удостоверений в одном вызове get()
. API Button Mode добавляет новый пользовательский интерфейс. С API Button Mode поставщики удостоверений могут использовать API FedCM, даже если их пользователи не имеют активных сеансов IdP при вызове API. Пакет Continuation состоит из API Continuation и API Parameters, которые обеспечивают потокоподобный опыт авторизации OAuth, включающий диалог разрешений, предоставляемых IdP. Пакет также включает другие изменения, такие как API Fields, Multiple configURL
и Custom Account Labels.
Пробная версия Origin: API Multi IdP
Функция позволяет пользователям выбирать учетную запись из набора поддерживаемых IdP, а RP выигрывают от более высоких показателей входа и регистрации. Если пользователь вошел в систему с несколькими IdP, ему будет предложено войти в RP, используя один из IdP.
Приоритет поставщиков удостоверений определяется на основе существующих учетных записей пользователя и связанных с ними временных меток.
- Если пользователь ранее входил в RP с помощью определенного IdP (т. е. у него есть «возвращающаяся учетная запись»), эти IdP будут указаны первыми.
- В возвращаемых аккаунтах IdP дополнительно сортируются по временной метке их последнего использования, при этом последний использованный IdP отображается в верхней части списка. В некоторых случаях Chrome может не иметь данных о временной метке для возвращаемого аккаунта. Это, вероятно, связано с тем, что пользователь вошел в систему до того, как журналы временных меток были реализованы в FedCM. Эти аккаунты перечислены ниже тех, у которых есть временные метки.
- Если у пользователя нет возвращаемых учетных записей ни с одним IdP, соблюдается порядок, предоставленный RP.
FedCM допускает автоматическую повторную аутентификацию, если разработчик запрашивает ее и если есть одна возвращающая учетная запись. В случае Multi IdP, если возвращающие учетные записи существуют для нескольких IdP, пользователь не будет автоматически повторно аутентифицирован. Наличие возвращающей учетной записи является строгим требованием для автоматической повторной аутентификации. Браузер инициирует автоматическую повторную аутентификацию только тогда, когда браузер явно распознал учетную запись. Это подразумевает, что пользователь должен был ранее использовать FedCM с этой конкретной учетной записью на этой RP.
Если статус входа пользователя установлен на «вышел из системы» для IdP, вызов FedCM не извлекает учетные записи для этого IdP. Аналогично, если статус пользователя установлен на «вышел из системы» для всех доступных IdP, запрос на вход в FedCM не отображается автоматически в режиме виджета.
Если статус входа, сохраненный в браузере для IdP, был указан как выполненный вход, но запрос на выборку не вернул ни одной учетной записи для этого IdP (например, если сеанс пользователя истек, но статус входа еще не был обновлен браузером), для IdP отображается несоответствующий пользовательский интерфейс, предлагающий пользователю войти с помощью несоответствующего IdP.
Для получения дополнительной информации о статусе входа в систему, проверьте документацию . См. руководство разработчика для получения дополнительных сведений о реализации.
Пробная версия Origin: API Multi IdP
Вы можете попробовать Multi IdP API как пользователь демонстрационной RP или как разработчик, используя Chrome 128 или более новую версию.
Попробуйте как пользователь
Попробуйте сами как пользователь. Убедитесь, что:
- Chrome не настроен на блокировку сторонних запросов на вход на странице:
chrome://settings/content/federatedIdentityApi
. - Вы вошли в несколько демонстрационных IdP. Следуйте инструкциям на демонстрационной странице.
Обратите внимание: чтобы попробовать Multi-IdP на сайтах, источник которых не зарегистрирован для пробной версии источника, вам необходимо включить флаг функции в разделе chrome://flags/#fedcm-multi-idp
.
Попробуйте как разработчик
Если у поставщика входа есть Javascript SDK, встроенный в RP (рекомендуется), вызов navigator.credentials.get()
для включения нескольких IdP может быть реализован поставщиком, и разработчикам RP не нужно менять свой код. В противном случае RP необходимо самостоятельно вызвать API FedCM.
Чтобы протестировать Multi IdP на RP, укажите массив поддерживаемых провайдеров следующим образом:
try {
const cred = await navigator.credentials.get({
identity: {
providers: [
{
configUrl: "https://idp1.example/foo.json", // first IdP
clientId: "123",
},
{
configUrl: "https://idp2.example/bar.json", // second IdP
clientId: "456",
}
]
}
});
const token = cred.token;
const currentConfigFileUrl = cred.configURL;
if (cred.configURL === 'https://idp1.example/foo.json') {
// handle the token for idp1.example
} else if (cred.configURL === 'https://idp2.example/bar.json') {
// handle the token for idp2.example
}
} catch (error) {
console.error("Error during credential retrieval:", error);
}
Атрибут configURL
в результирующем объекте хранит URL-адрес файла конфигурации для IdP, с которым пользователь прошел аутентификацию. RP может определить, как обрабатывать результирующий token
, поскольку он отличается в зависимости от IdP.
Примите участие в исследовании происхождения
Пробные версии Origin позволяют вам попробовать новые функции и дать отзыв об их удобстве использования, практичности и эффективности. Для получения дополнительной информации ознакомьтесь с разделом Начало работы с пробными версиями Origin .
Вы можете попробовать функцию Multi IdP, зарегистрировавшись для участия в пробных версиях Origin, начиная с Chrome 128.
Чтобы попробовать Multi IdP, RP может зарегистрировать свой origin и запустить пробную версию first-party origin. IdP также может зарегистрироваться для пробной версии third-party origin и сделать функцию Multi IdP доступной для всех своих RP с помощью Javascript SDK.
Шаги для участия в исследовании Origin:
- Перейдите на страницу регистрации пробной версии Multi IdP API origin. 2. Нажмите кнопку «Зарегистрироваться» и заполните форму для запроса токена.
- Чтобы зарегистрироваться для пробной версии first-party origin, введите origin RP в поле "Web Origin". Для пробной версии third-party origin введите origin JavaScript SDK IdP и установите флажок "Third-party matching".
- Нажмите «Отправить» .
- Укажите выданный токен на странице RP:
- Для участников 1P origin trial: - Как метатег в
<head>
:<meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
- Как HTTP-заголовок:Origin-Trial: TOKEN_GOES_HERE
- Для участников испытаний сторонних источников: - Путем предоставления токена программным способом.
- Для участников 1P origin trial: - Как метатег в
API режима кнопок для Chrome на Android
Начиная с версии Chrome 128, пробная версия API режима кнопки начнется в Chrome на Android после первоначальной пробной версии на десктопе . С API режима кнопки поставщики удостоверений могут использовать API FedCM, даже если их пользователи вышли из IdP при вызове API. Поток входа инициируется жестом пользователя, что лучше отражает намерение пользователя.
В Chrome 128 представлена новая функция, которая позволяет IdP включать официальный значок логотипа RP непосредственно в ответ конечной точки метаданных клиента . Это улучшает пользовательский интерфейс на мобильных устройствах в режиме кнопок.
Подобно брендингу IdP в файле конфигурации, значки RP можно настроить на стороне IdP и вернуть в ответе client_metadata_endpoint
следующим образом:
"privacy_policy_url": "https://rp.example/privacy_policy.html",
"terms_of_service_url": "https://rp.example/terms_of_service.html",
"icons": [{
"url": "https://idp.example/rp-icon.ico",
"size": 40
}]

Чтобы узнать больше о поддержке значков, ознакомьтесь с документацией разработчика .
Если пользователь еще не вошел в систему, FedCM предлагает ему войти в IdP, используя login_url
предоставленный IdP, через пользовательскую вкладку Chrome (CCT).
Если пользователь повторно проходит аутентификацию с использованием предыдущей учетной записи, пользовательский интерфейс раскрытия данных отображаться не будет.
Чтобы зарегистрироваться для пробной версии origin, см. инструкции для API Button Mode на десктопе . Если вы уже зарегистрировались для пробной версии origin на десктопе, эта функция будет автоматически доступна для вас в Chrome на Android, начиная с Chrome 128.
Пакет Continuation API для Chrome на Android
Начиная с версии Chrome 128, пакет Continuation API будет доступен для Chrome на Android в рамках пробной версии origin после его первоначальной пробной версии на десктопе. Пакет состоит из нескольких функций FedCM, включая Continuation API , Parameters API , Fields API , Multiple configURLs и Custom Account Labels .
Continuation API обеспечивает многошаговые потоки входа. Parameters API позволяет передавать дополнительные параметры в IdP. Fields API позволяет RP запрашивать определенные атрибуты учетной записи для раскрытия пользовательского интерфейса в диалоговом окне FedCM. Кроме того, Multiple configURL
поддерживает несколько файлов конфигурации для IdP, а Custom Account Labels позволяет IdP аннотировать учетные записи, чтобы RP могли фильтровать их по этим меткам.
Чтобы узнать больше о пакете Continuation API, см. запись в блоге о пакете Continuation API на рабочем столе . Чтобы зарегистрироваться для пробной версии origin , следуйте этим инструкциям . Если вы уже зарегистрировались для пробной версии origin на рабочем столе, функции будут автоматически доступны для вас в Chrome на Android, начиная с Chrome 128.
Привлекайте и делитесь отзывами
Если у вас есть отзывы или вы столкнулись с какими-либо проблемами, вы можете подать заявку на получение информации . Мы будем поддерживать каноническое руководство разработчика FedCM в актуальном состоянии, а также страницу накопленных журналов обновлений .