Обновления FedCM: API Multi IdP для настольных компьютеров, API режима кнопок и пакет продолжения для Chrome на пробных версиях Android.

Наталья Маркобородова
Natalia Markoborodova

Начиная с Chrome 128, API Multi-IdP запускает пробную версию Origin на настольных компьютерах, а API режима кнопок и пакет продолжения запускают пробную версию Origin на Android. Благодаря функции Multi IdP разработчики могут указать массив из нескольких поддерживаемых поставщиков удостоверений в одном вызове get() . API режима кнопок добавляет новый пользовательский интерфейс. С помощью API режима кнопок поставщики удостоверений могут использовать API FedCM, даже если у их пользователей нет активных сеансов IdP при вызове API. Пакет Continuation состоит из API Continuation и API параметров, которые позволяют использовать процесс авторизации OAuth, подобный потоку авторизации, с использованием диалогового окна разрешений, предоставленного IdP. Пакет также включает в себя другие изменения, такие как API полей, несколько configURL и пользовательские метки учетной записи.

Пробная версия Origin: API с несколькими поставщиками удостоверений

Эта функция позволяет пользователям выбирать учетную запись из набора поддерживаемых IdP, а RP получают выгоду от более высоких показателей входа и регистрации. Если пользователь вошел в систему с несколькими IdP, ему будет предложено войти в RP, используя один из IdP.

Пользователь входит в систему с разными IdP, используя API нескольких IdP.

Приоритет IdP определяется на основе существующих учетных записей пользователя и связанных с ними временных меток.

  • Если пользователь ранее входил в RP с определенным IdP (т. е. у него есть «возвратная учетная запись»), эти IdP будут указаны первыми.
  • В возвращающихся учетных записях поставщики удостоверений дополнительно сортируются по временной метке их последнего использования, при этом последний использованный поставщик удостоверений отображается в верхней части списка. В некоторых случаях Chrome может не иметь данных временной метки для возвращающейся учетной записи. Вероятно, это связано с тем, что пользователь вошел в систему до того, как в FedCM были реализованы журналы временных меток. Эти учетные записи перечислены ниже тех, у которых есть метки времени.
  • Если у пользователя нет возвращающихся учетных записей ни у одного IdP, порядок, предоставленный RP, соблюдается.

FedCM допускает автоматическую повторную аутентификацию, если разработчик запрашивает ее и если есть одна возвращающаяся учетная запись. В случае с несколькими IdP, если возвращаемые учетные записи существуют для нескольких IdP, пользователь не будет автоматически проходить повторную аутентификацию. Наличие возвращающейся учетной записи является строгим требованием для автоматической повторной аутентификации. Браузер начнет автоматическую повторную аутентификацию только тогда, когда браузер явно распознает учетную запись. Это означает, что пользователь должен был ранее использовать FedCM с этой конкретной учетной записью на этом RP.

Если статус входа пользователя установлен на выход из системы для IdP, вызов FedCM не извлекает учетные записи для этого IdP. Аналогичным образом, если статус пользователя — выход из системы для всех доступных IdP, приглашение на вход в FedCM не отображается автоматически в режиме виджета.

Если статус входа, сохраненный в браузере для IdP, был выполнен вход в систему, но запрос на выборку не вернул учетные записи для этого IdP (например, если срок сеанса пользователя истек, но статус входа еще не был обновлен браузером), для IdP отображается несоответствующий пользовательский интерфейс, предлагающий пользователю войти в систему с несоответствующим IdP.

Когда статус входа пользователя соответствует входу в систему, но срок действия сеанса истек, отображается несоответствующий пользовательский интерфейс.

Для получения дополнительной информации о статусе входа в систему обратитесь к документации . Дополнительные сведения о реализации см. в руководстве разработчика .

Пробная версия Origin: API с несколькими поставщиками удостоверений

Вы можете попробовать Multi IdP API как пользователь демо-RP или как разработчик, использующий Chrome 128 или более поздней версии.

Попробуйте как пользователь

Попробуйте сами как пользователь. Убедитесь, что:

  • В Chrome не настроена блокировка сторонних запросов на вход на странице: chrome://settings/content/federatedIdentityApi .
  • Вы вошли в несколько демонстрационных IdP. Следуйте инструкциям на демо-странице.

Обратите внимание: чтобы попробовать Multi-IdP на сайтах, источник которых не зарегистрирован для пробной версии Origin, вам необходимо включить флаг функции в 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 может зарегистрировать свое происхождение и запустить пробную версию собственного происхождения. Поставщик удостоверений также может зарегистрироваться для участия в пробной версии стороннего источника и сделать функцию Multi IdP доступной для всех своих RP, использующих Javascript SDK.

Шаги для участия в пробной версии Origin:

  1. Перейдите на страницу регистрации пробной версии API Multi IdP.
  2. Нажмите кнопку «Зарегистрироваться» и заполните форму, чтобы запросить токен.
  3. Чтобы зарегистрироваться для участия в пробной версии стороннего источника, введите источник RP в поле «Веб-происхождение». Для пробной версии стороннего источника укажите источник SDK JavaScript поставщика удостоверений и установите флажок «Стороннее сопоставление».
  4. Нажмите «Отправить» .
  5. Укажите выданный токен на странице RP:
    • Для участников испытания происхождения 1P:
      • В качестве метатега в <head> : <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
      • В качестве HTTP-заголовка: Origin-Trial: TOKEN_GOES_HERE
    • Для участников исследования стороннего происхождения:
      • Предоставляя токен программным способом.

API режима кнопок для Chrome на Android

Начиная с Chrome версии 128, после первоначальной пробной версии API режима кнопок на ПК начнется первоначальная пробная версия API режима кнопок в Chrome на Android. С помощью API режима кнопок поставщики удостоверений могут использовать API FedCM, даже если их пользователи вышли из IdP при вызове API. Процесс входа инициируется жестом пользователя, который лучше отражает намерение пользователя.

В Chrome 128 представлена ​​новая функция, которая позволяет поставщикам удостоверений включать официальный значок логотипа 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
   }]
Значки логотипов IdP и RP.
Значки логотипов IdP и RP в пользовательском интерфейсе раскрытия информации на мобильных устройствах.

Чтобы узнать больше о поддержке значков, обратитесь к документации разработчика .

Если пользователь еще не вошел в систему, FedCM предлагает ему войти в IdP, используя login_url предоставленный IdP, через пользовательскую вкладку Chrome (CCT).

Пользователь входит в систему с помощью кнопки на мобильном устройстве.

Если пользователь выполняет повторную аутентификацию с использованием возвращающейся учетной записи, пользовательский интерфейс раскрытия не будет отображаться.

Пользователь входит в систему с использованием возвращающейся учетной записи. Пользовательский интерфейс раскрытия не отображается.

Чтобы зарегистрироваться для получения пробной версии Origin, ознакомьтесь с инструкциями для API режима кнопок на настольном компьютере . Если вы уже подписались на пробную версию Origin для ПК, эта функция будет автоматически доступна вам в Chrome на Android, начиная с Chrome 128.

Продолжение пакета API для Chrome на Android

Начиная с Chrome версии 128, пакет Continuation API будет доступен для Chrome на Android в рамках пробной версии Origin после первоначальной пробной версии на настольном компьютере. Пакет состоит из нескольких функций FedCM, включая API продолжения , API параметров , API полей , несколько URL-адресов configURL и пользовательские метки учетной записи .

API продолжения обеспечивает многоэтапный вход в систему. API параметров позволяет передавать дополнительные параметры IdP. API Fields позволяет RP запрашивать определенные атрибуты учетной записи для пользовательского интерфейса раскрытия в диалоговом окне FedCM. Кроме того, Multiple configURL поддерживает несколько файлов конфигурации для IdP, а пользовательские метки учетных записей позволяют IdP аннотировать учетные записи, чтобы RP могли фильтровать их по этим меткам.

Дополнительные сведения о пакете Continuation API см. в записи блога о пакете Continuation API для настольных компьютеров . Чтобы зарегистрироваться для участия в пробной версии Origin , следуйте этим инструкциям . Если вы уже подписались на пробную версию Origin для настольного компьютера, эти функции будут автоматически доступны вам в Chrome на Android, начиная с Chrome 128.

Привлекайте и делитесь отзывами

Если у вас есть отзывы или вы столкнулись с какими-либо проблемами, вы можете сообщить о проблеме . Мы будем поддерживать в актуальном состоянии каноническое руководство для разработчиков FedCM , а также страницу накопленных журналов обновлений .

,

Наталья Маркобородова
Natalia Markoborodova

Начиная с Chrome 128, API Multi-IdP запускает пробную версию Origin на настольных компьютерах, а API режима кнопок и пакет продолжения запускают пробную версию Origin на Android. Благодаря функции Multi IdP разработчики могут указать массив из нескольких поддерживаемых поставщиков удостоверений в одном вызове get() . API режима кнопок добавляет новый пользовательский интерфейс. С помощью API режима кнопок поставщики удостоверений могут использовать API FedCM, даже если у их пользователей нет активных сеансов IdP при вызове API. Пакет Continuation состоит из API Continuation и API параметров, которые обеспечивают процесс авторизации OAuth, аналогичный потоку авторизации, с использованием диалогового окна разрешений, предоставленного IdP. Пакет также включает в себя другие изменения, такие как API полей, несколько configURL и пользовательские метки учетной записи.

Пробная версия Origin: API с несколькими поставщиками удостоверений

Эта функция позволяет пользователям выбирать учетную запись из набора поддерживаемых IdP, а RP получают выгоду от более высоких показателей входа и регистрации. Если пользователь вошел в систему с несколькими IdP, ему будет предложено войти в RP, используя один из IdP.

Пользователь входит в систему с разными IdP, используя API нескольких IdP.

Приоритет IdP определяется на основе существующих учетных записей пользователя и связанных с ними временных меток.

  • Если пользователь ранее входил в RP с определенным IdP (т. е. у него есть «возвратная учетная запись»), эти IdP будут указаны первыми.
  • В возвращающихся учетных записях поставщики удостоверений дополнительно сортируются по временной метке их последнего использования, при этом последний использованный поставщик удостоверений отображается в верхней части списка. В некоторых случаях Chrome может не иметь данных временной метки для возвращающейся учетной записи. Вероятно, это связано с тем, что пользователь вошел в систему до того, как в FedCM были реализованы журналы временных меток. Эти учетные записи перечислены ниже тех, у которых есть метки времени.
  • Если у пользователя нет возвращающихся учетных записей ни у одного IdP, порядок, предоставленный RP, соблюдается.

FedCM допускает автоматическую повторную аутентификацию, если разработчик запрашивает ее и если есть одна возвращающаяся учетная запись. В случае с несколькими IdP, если возвращаемые учетные записи существуют для нескольких IdP, пользователь не будет автоматически проходить повторную аутентификацию. Наличие возвращающейся учетной записи является строгим требованием для автоматической повторной аутентификации. Браузер начнет автоматическую повторную аутентификацию только тогда, когда браузер явно распознает учетную запись. Это означает, что пользователь должен был ранее использовать FedCM с этой конкретной учетной записью на этом RP.

Если статус входа пользователя установлен на выход из системы для IdP, вызов FedCM не извлекает учетные записи для этого IdP. Аналогичным образом, если статус пользователя — выход из системы для всех доступных IdP, приглашение на вход в FedCM не отображается автоматически в режиме виджета.

Если статус входа, сохраненный в браузере для IdP, был выполнен вход в систему, но запрос на выборку не вернул учетные записи для этого IdP (например, если срок сеанса пользователя истек, но статус входа еще не был обновлен браузером), для IdP отображается несоответствующий пользовательский интерфейс, предлагающий пользователю войти в систему с несоответствующим IdP.

Когда статус входа пользователя соответствует входу в систему, но срок действия сеанса истек, отображается несоответствующий пользовательский интерфейс.

Для получения дополнительной информации о статусе входа в систему обратитесь к документации . Дополнительные сведения о реализации см. в руководстве разработчика .

Пробная версия Origin: API с несколькими поставщиками удостоверений

Вы можете попробовать Multi IdP API как пользователь демо-RP или как разработчик, использующий Chrome 128 или более поздней версии.

Попробуйте как пользователь

Попробуйте сами как пользователь. Убедитесь, что:

  • В Chrome не настроена блокировка сторонних запросов на вход на странице: chrome://settings/content/federatedIdentityApi .
  • Вы вошли в несколько демонстрационных IdP. Следуйте инструкциям на демо-странице.

Обратите внимание: чтобы попробовать Multi-IdP на сайтах, источник которых не зарегистрирован для пробной версии Origin, вам необходимо включить флаг функции в 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 может зарегистрировать свое происхождение и запустить пробную версию собственного происхождения. Поставщик удостоверений также может зарегистрироваться для участия в пробной версии стороннего источника и сделать функцию Multi IdP доступной для всех своих RP, использующих Javascript SDK.

Шаги для участия в пробной версии Origin:

  1. Перейдите на страницу регистрации пробной версии API Multi IdP.
  2. Нажмите кнопку «Зарегистрироваться» и заполните форму, чтобы запросить токен.
  3. Чтобы зарегистрироваться для участия в пробной версии стороннего источника, введите источник RP в поле «Веб-происхождение». Для пробной версии стороннего источника укажите источник SDK JavaScript поставщика удостоверений и установите флажок «Стороннее сопоставление».
  4. Нажмите «Отправить» .
  5. Укажите выданный токен на странице RP:
    • Для участников испытания происхождения 1P:
      • В качестве метатега в <head> : <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
      • В качестве HTTP-заголовка: Origin-Trial: TOKEN_GOES_HERE
    • Для участников исследования стороннего происхождения:
      • Предоставляя токен программным способом.

API режима кнопок для Chrome на Android

Начиная с Chrome версии 128, после первоначальной пробной версии на настольном компьютере начнется исходная пробная версия API режима кнопок в Chrome на Android. С помощью API режима кнопок поставщики удостоверений могут использовать API FedCM, даже если их пользователи вышли из IdP при вызове API. Процесс входа инициируется жестом пользователя, который лучше отражает намерение пользователя.

В Chrome 128 представлена ​​новая функция, которая позволяет поставщикам удостоверений включать официальный значок логотипа 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
   }]
Значки логотипов IdP и RP.
Значки логотипов IdP и RP в пользовательском интерфейсе раскрытия информации на мобильных устройствах.

Чтобы узнать больше о поддержке значков, обратитесь к документации разработчика .

Если пользователь еще не вошел в систему, FedCM предлагает ему войти в IdP, используя login_url предоставленный IdP, через пользовательскую вкладку Chrome (CCT).

Пользователь входит в систему с помощью кнопки на мобильном устройстве.

Если пользователь выполняет повторную аутентификацию с использованием возвращающейся учетной записи, пользовательский интерфейс раскрытия не будет отображаться.

Пользователь входит в систему с использованием возвращающейся учетной записи. Пользовательский интерфейс раскрытия не отображается.

Чтобы зарегистрироваться для получения пробной версии Origin, ознакомьтесь с инструкциями для API режима кнопок на настольном компьютере . Если вы уже подписались на пробную версию Origin для настольного компьютера, эта функция будет автоматически доступна вам в Chrome на Android, начиная с Chrome 128.

Продолжение пакета API для Chrome на Android

Начиная с Chrome версии 128, пакет Continuation API будет доступен для Chrome на Android в рамках пробной версии Origin после первоначальной пробной версии на настольном компьютере. Пакет состоит из нескольких функций FedCM, включая API продолжения , API параметров , API полей , несколько URL-адресов configURL и пользовательские метки учетной записи .

API продолжения обеспечивает многоэтапный вход в систему. API параметров позволяет передавать дополнительные параметры IdP. API Fields позволяет RP запрашивать определенные атрибуты учетной записи для пользовательского интерфейса раскрытия в диалоговом окне FedCM. Кроме того, Multiple configURL поддерживает несколько файлов конфигурации для IdP, а пользовательские метки учетных записей позволяют IdP аннотировать учетные записи, чтобы RP могли фильтровать их по этим меткам.

Дополнительные сведения о пакете Continuation API см. в записи блога о пакете Continuation API для настольных компьютеров . Чтобы зарегистрироваться для участия в пробной версии Origin , следуйте этим инструкциям . Если вы уже подписались на пробную версию Origin для ПК, эти функции будут автоматически доступны вам в Chrome на Android, начиная с Chrome 128.

Привлекайте и делитесь отзывами

Если у вас есть отзывы или вы столкнулись с какими-либо проблемами, вы можете сообщить о проблеме . Мы будем поддерживать в актуальном состоянии каноническое руководство для разработчиков FedCM , а также страницу накопленных журналов обновлений .

,

Наталья Маркобородова
Natalia Markoborodova

Начиная с Chrome 128, API Multi-IdP запускает пробную версию Origin на настольных компьютерах, а API режима кнопок и пакет продолжения запускают пробную версию Origin на Android. Благодаря функции Multi IdP разработчики могут указать массив из нескольких поддерживаемых поставщиков удостоверений в одном вызове get() . API режима кнопок добавляет новый пользовательский интерфейс. С помощью API режима кнопок поставщики удостоверений могут использовать API FedCM, даже если у их пользователей нет активных сеансов IdP при вызове API. Пакет Continuation состоит из API Continuation и API параметров, которые позволяют использовать процесс авторизации OAuth, подобный потоку авторизации, с использованием диалогового окна разрешений, предоставленного IdP. Пакет также включает в себя другие изменения, такие как API полей, несколько configURL и пользовательские метки учетной записи.

Пробная версия Origin: API с несколькими поставщиками удостоверений

Эта функция позволяет пользователям выбирать учетную запись из набора поддерживаемых IdP, а RP получают выгоду от более высоких показателей входа и регистрации. Если пользователь вошел в систему с несколькими IdP, ему будет предложено войти в RP, используя один из IdP.

Пользователь входит в систему с разными IdP, используя API нескольких IdP.

Приоритет IdP определяется на основе существующих учетных записей пользователя и связанных с ними временных меток.

  • Если пользователь ранее входил в RP с определенным IdP (т. е. у него есть «возвратная учетная запись»), эти IdP будут указаны первыми.
  • В возвращающихся учетных записях поставщики удостоверений дополнительно сортируются по временной метке их последнего использования, при этом последний использованный поставщик удостоверений отображается в верхней части списка. В некоторых случаях Chrome может не иметь данных временной метки для возвращающейся учетной записи. Вероятно, это связано с тем, что пользователь вошел в систему до того, как в FedCM были реализованы журналы временных меток. Эти учетные записи перечислены ниже тех, у которых есть метки времени.
  • Если у пользователя нет возвращающихся учетных записей ни у одного IdP, порядок, предоставленный RP, соблюдается.

FedCM допускает автоматическую повторную аутентификацию, если разработчик запрашивает ее и если есть одна возвращающаяся учетная запись. В случае с несколькими IdP, если возвращаемые учетные записи существуют для нескольких IdP, пользователь не будет автоматически проходить повторную аутентификацию. Наличие возвращающейся учетной записи является строгим требованием для автоматической повторной аутентификации. Браузер начнет автоматическую повторную аутентификацию только тогда, когда браузер явно распознает учетную запись. Это означает, что пользователь должен был ранее использовать FedCM с этой конкретной учетной записью на этом RP.

Если статус входа пользователя установлен на выход из системы для IdP, вызов FedCM не извлекает учетные записи для этого IdP. Аналогичным образом, если статус пользователя — выход из системы для всех доступных IdP, приглашение на вход в FedCM не отображается автоматически в режиме виджета.

Если статус входа, сохраненный в браузере для IdP, был выполнен вход в систему, но запрос на выборку не вернул учетные записи для этого IdP (например, если срок сеанса пользователя истек, но статус входа еще не был обновлен браузером), для IdP отображается несоответствующий пользовательский интерфейс, предлагающий пользователю войти в систему с несоответствующим IdP.

Когда статус входа пользователя соответствует входу в систему, но срок действия сеанса истек, отображается несоответствующий пользовательский интерфейс.

Для получения дополнительной информации о статусе входа в систему обратитесь к документации . Дополнительные сведения о реализации см. в руководстве разработчика .

Пробная версия Origin: API с несколькими поставщиками удостоверений

Вы можете попробовать Multi IdP API как пользователь демо-RP или как разработчик, использующий Chrome 128 или более поздней версии.

Попробуйте как пользователь

Попробуйте сами как пользователь. Убедитесь, что:

  • В Chrome не настроена блокировка сторонних запросов на вход на странице: chrome://settings/content/federatedIdentityApi .
  • Вы вошли в несколько демонстрационных IdP. Следуйте инструкциям на демо-странице.

Обратите внимание: чтобы попробовать Multi-IdP на сайтах, источник которых не зарегистрирован для пробной версии Origin, вам необходимо включить флаг функции в 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 может зарегистрировать свое происхождение и запустить пробную версию собственного происхождения. Поставщик удостоверений также может зарегистрироваться для участия в пробной версии стороннего источника и сделать функцию Multi IdP доступной для всех своих RP, использующих Javascript SDK.

Шаги для участия в пробной версии Origin:

  1. Перейдите на страницу регистрации пробной версии API Multi IdP.
  2. Нажмите кнопку «Зарегистрироваться» и заполните форму, чтобы запросить токен.
  3. Чтобы зарегистрироваться для участия в пробной версии стороннего источника, введите источник RP в поле «Веб-происхождение». Для пробной версии стороннего источника укажите источник SDK JavaScript поставщика удостоверений и установите флажок «Стороннее сопоставление».
  4. Нажмите «Отправить» .
  5. Укажите выданный токен на странице RP:
    • Для участников испытания происхождения 1P:
      • В качестве метатега в <head> : <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
      • В качестве HTTP-заголовка: Origin-Trial: TOKEN_GOES_HERE
    • Для участников исследования стороннего происхождения:
      • Предоставляя токен программным способом.

API режима кнопок для Chrome на Android

Начиная с Chrome версии 128, после первоначальной пробной версии API режима кнопок на ПК начнется первоначальная пробная версия API режима кнопок в Chrome на Android. С помощью API режима кнопок поставщики удостоверений могут использовать API FedCM, даже если их пользователи вышли из IdP при вызове API. Процесс входа инициируется жестом пользователя, который лучше отражает намерение пользователя.

В Chrome 128 представлена ​​новая функция, которая позволяет поставщикам удостоверений включать официальный значок логотипа 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
   }]
Значки логотипов IdP и RP.
Значки логотипов IdP и RP в пользовательском интерфейсе раскрытия информации на мобильных устройствах.

Чтобы узнать больше о поддержке значков, обратитесь к документации разработчика .

Если пользователь еще не вошел в систему, FedCM предлагает ему войти в IdP, используя login_url предоставленный IdP, через пользовательскую вкладку Chrome (CCT).

Пользователь входит в систему с помощью кнопки на мобильном устройстве.

Если пользователь выполняет повторную аутентификацию с использованием возвращающейся учетной записи, пользовательский интерфейс раскрытия не будет отображаться.

Пользователь входит в систему с использованием возвращающейся учетной записи. Пользовательский интерфейс раскрытия не отображается.

Чтобы зарегистрироваться для получения пробной версии Origin, ознакомьтесь с инструкциями для API режима кнопок на настольном компьютере . Если вы уже подписались на пробную версию Origin для ПК, эта функция будет автоматически доступна вам в Chrome на Android, начиная с Chrome 128.

Продолжение пакета API для Chrome на Android

Начиная с Chrome версии 128, пакет Continuation API будет доступен для Chrome на Android в рамках пробной версии Origin после первоначальной пробной версии на настольном компьютере. Пакет состоит из нескольких функций FedCM, включая API продолжения , API параметров , API полей , несколько URL-адресов configURL и пользовательские метки учетной записи .

API продолжения обеспечивает многоэтапный вход в систему. API параметров позволяет передавать дополнительные параметры IdP. API Fields позволяет RP запрашивать определенные атрибуты учетной записи для пользовательского интерфейса раскрытия в диалоговом окне FedCM. Кроме того, Multiple configURL поддерживает несколько файлов конфигурации для IdP, а пользовательские метки учетных записей позволяют IdP аннотировать учетные записи, чтобы RP могли фильтровать их по этим меткам.

Дополнительные сведения о пакете Continuation API см. в записи блога о пакете Continuation API для настольных компьютеров . Чтобы зарегистрироваться для участия в пробной версии Origin , следуйте этим инструкциям . Если вы уже подписались на пробную версию Origin для настольного компьютера, эти функции будут автоматически доступны вам в Chrome на Android, начиная с Chrome 128.

Привлекайте и делитесь отзывами

Если у вас есть отзывы или вы столкнулись с какими-либо проблемами, вы можете сообщить о проблеме . Мы будем поддерживать в актуальном состоянии каноническое руководство для разработчиков FedCM , а также страницу накопленных журналов обновлений .

,

Наталья Маркобородова
Natalia Markoborodova

Начиная с Chrome 128, API Multi-IdP запускает пробную версию Origin на настольных компьютерах, а API режима кнопок и пакет продолжения запускают пробную версию Origin на Android. Благодаря функции Multi IdP разработчики могут указать массив из нескольких поддерживаемых поставщиков удостоверений в одном вызове get() . API режима кнопок добавляет новый пользовательский интерфейс. С помощью API режима кнопок поставщики удостоверений могут использовать API FedCM, даже если у их пользователей нет активных сеансов IdP при вызове API. Пакет Continuation состоит из API Continuation и API параметров, которые обеспечивают процесс авторизации OAuth, аналогичный потоку авторизации, с использованием диалогового окна разрешений, предоставленного IdP. Пакет также включает в себя другие изменения, такие как API полей, несколько configURL и пользовательские метки учетной записи.

Пробная версия Origin: API с несколькими поставщиками удостоверений

Эта функция позволяет пользователям выбирать учетную запись из набора поддерживаемых IdP, а RP получают выгоду от более высоких показателей входа и регистрации. Если пользователь вошел в систему с несколькими IdP, ему будет предложено войти в RP, используя один из IdP.

Пользователь входит в систему с разными IdP, используя API нескольких IdP.

Приоритет IdP определяется на основе существующих учетных записей пользователя и связанных с ними временных меток.

  • Если пользователь ранее входил в RP с определенным IdP (т. е. у него есть «возвратная учетная запись»), эти IdP будут указаны первыми.
  • В возвращающихся учетных записях поставщики удостоверений дополнительно сортируются по временной метке их последнего использования, при этом последний использованный поставщик удостоверений отображается в верхней части списка. В некоторых случаях Chrome может не иметь данных временной метки для возвращающейся учетной записи. Вероятно, это связано с тем, что пользователь вошел в систему до того, как в FedCM были реализованы журналы временных меток. Эти учетные записи перечислены ниже тех, у которых есть метки времени.
  • Если у пользователя нет возвращающихся учетных записей ни у одного IdP, порядок, предоставленный RP, соблюдается.

FedCM допускает автоматическую повторную аутентификацию, если разработчик запрашивает ее и если есть одна возвращающаяся учетная запись. В случае с несколькими IdP, если возвращаемые учетные записи существуют для нескольких IdP, пользователь не будет автоматически проходить повторную аутентификацию. Наличие возвращающейся учетной записи является строгим требованием для автоматической повторной аутентификации. Браузер начнет автоматическую повторную аутентификацию только тогда, когда браузер явно распознает учетную запись. Это означает, что пользователь должен был ранее использовать FedCM с этой конкретной учетной записью на этом RP.

Если статус входа пользователя установлен на выход из системы для IdP, вызов FedCM не извлекает учетные записи для этого IdP. Аналогичным образом, если статус пользователя — выход из системы для всех доступных IdP, приглашение на вход в FedCM не отображается автоматически в режиме виджета.

Если статус входа, сохраненный в браузере для IDP, был зарегистрирован, но никаких учетных записей для этого IDP не были возвращены запросом Fetch (например, если пользовательский сеанс истек, но статус входа в систему еще не обновляется с помощью браузера), Mismatch UI показан для IDP, что предлагает пользователь подписать несоответствующий IDP.

Когда статус входа пользователя регистрируется, но сеанс истек, отображается пользовательский интерфейс Mismatch.

Для получения дополнительной информации о статусе входа в систему, проверьте документацию . См. Руководство по разработчику для получения дополнительной информации о реализации.

Испытание происхождения: Multi IDP API

Вы можете попробовать API Multi IDP в качестве пользователя на демонстрации RP , или в качестве разработчика, использующего Chrome 128 или новее.

Попробуйте это как пользователь

Попробуйте сами как пользователь. Убедитесь, что:

  • Chrome не настроен для блокировки сторонних подсказок входа на странице: chrome://settings/content/federatedIdentityApi .
  • Вы подписаны в нескольких демонстрационных имчарниках. Следуйте инструкциям на демо -странице.

Обратите внимание, что для того, чтобы попробовать много-IDP на сайтах, происхождение которого не зарегистрировано для испытания происхождения, вам необходимо включить флаг функции под chrome://flags/#fedcm-multi-idp .

Попробуйте это как разработчик

Если у поставщика входа в систему есть JavaScript SDK, встроенный в RP (рекомендуется), вызов navigator.credentials.get() для включения нескольких IDP может быть реализован поставщиком, и разработчикам RP не нужно менять свой код. В противном случае, RP необходимо назвать FedCM API сами.

Чтобы проверить мульти -ВПП на 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.

Участвовать в испытании происхождения

Испытания происхождения позволяют попробовать новые функции и дать отзыв о их удобстве использования, практичности и эффективности. Для получения дополнительной информации ознакомьтесь с испытаниями начнутся с происхождением .

Вы можете попробовать функцию Multi IDP, зарегистрировавшись для исходных испытаний, начиная с Chrome 128.

Чтобы попробовать Multi IDP, RP может зарегистрировать свое происхождение и запустить первом испытании происхождения. IDP также может зарегистрироваться для третьего процесса происхождения и иметь функцию Multi IDP, доступную для всех их RP с использованием JavaScript SDK.

Шаги по участию в испытании происхождения:

  1. Перейдите на страницу пробного регистрации Multi IDP API.
  2. Нажмите кнопку «Регистрация» и заполните форму, чтобы запросить токен.
  3. Чтобы зарегистрироваться для первого испытания происхождения, введите происхождение RP в поле «Веб-происхождение». Для третьей стороны испытания происхождения введите происхождение JavaScript SDK IDP и проверьте поле «Сторонние сопоставления».
  4. Нажмите «Отправить» .
  5. Предоставьте выданный токен на странице RP:
    • Для участников судебного разбирательства 1P.
      • В качестве метага в <head> : <meta http-equiv="origin-trial" content="TOKEN_GOES_HERE">
      • Как заголовок HTTP: Origin-Trial: TOKEN_GOES_HERE
    • Для сторонних участников судебного разбирательства:
      • Предоставляя токен программно.

API режима кнопки для хрома на Android

Из Chrome версии 128 исходное исследование API режима кнопки начнется на Chrome на Android после его первоначального испытания на рабочем столе . С помощью API режима кнопки, поставщики идентификаций могут использовать API FedCM, даже если их пользователи выходят из IDP при вызове API. Поток входа инициируется пользовательским жестом, который лучше отражает намерение пользователя.

В Chrome 128 появляется новая функция, которая позволяет ВПЛ включать официальный значок логотипа 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
   }]
Значки логотипа IDP и RP.
Значки логотипа IDP и RP в пользовательском интерфейсе раскрытия на мобильном телефоне.

Чтобы узнать больше о поддержке значков, проверьте документацию разработчика .

Если пользователь еще не вписан, FedCM предлагает пользователю войти в IDP, используя login_url предоставленную IDP через вкладку Chrome Custom (CCT).

Пользователь входит через режим кнопки на мобильном телефоне.

Если пользователь повторно аутентирует с возвращающейся учетной записью, пользовательский интерфейс раскрытия не будет отображаться.

Пользователь входит в систему с возвратной учетной записью. Пользовательский интерфейс раскрытия не отображается.

Чтобы зарегистрироваться для исходного испытания, см. Инструкции для API режима кнопки на рабочем столе . Если вы уже зарегистрировались на исходном испытании на рабочем столе, эта функция будет автоматически доступна для вас на Chrome на Android, начиная с Chrome 128.

Продолжение пакет API для Chrome на Android

От Chrome версии 128, пакет API продолжения API будет доступен для Chrome на Android в рамках испытания происхождения, после его первоначального испытания на рабочем столе. Пакет состоит из нескольких функций FedCM, включая API продолжения , параметры API , API поля , несколько конфигураций и метки пользовательских счетов .

Продолжение API включает многоэтапные потоки регистрации. API параметров позволяет передавать дополнительные параметры в IDP. API Fields позволяет конкретным атрибутам учетной записи RP для пользовательского интерфейса раскрытия в диалоговом окне FEDCM. Кроме того, несколько configURL поддерживают несколько файлов конфигурации для IDP, а метки пользовательских учетных записей позволяют IDPS аннотировать учетные записи, чтобы RPS могла фильтровать их по этим меткам.

Чтобы узнать больше о продолжении пакета API, см. В блоге по сообщению о продолжении пакета API на рабочем столе . Чтобы зарегистрироваться для испытания происхождения , следуйте этим инструкциям . Если вы уже зарегистрировались на испытание происхождения на рабочем столе, функции будут автоматически доступны для вас на Chrome на Android, начиная с Chrome 128.

Задействовать и обмениваться обратной связью

Если у вас есть отзывы или столкнуться с какими -либо проблемами, вы можете подать проблему . Мы будем поддерживать каноническое руководство разработчика FEDCM в настоящее время вместе со страницей накопленных журналов обновлений .