Настройте среду разработки для реализации FedCM

Чтобы настроить среду для начала реализации FedCM, вам необходим безопасный контекст (HTTPS или локальный хост) как на IdP, так и на RP в Chrome.

Блокировать сторонние файлы cookie

Заблокируйте сторонние файлы cookie в настройках Chrome.
Заблокируйте сторонние файлы cookie в настройках Chrome.

Вы можете проверить, как работает FedCM без сторонних файлов cookie в Chrome. Чтобы заблокировать сторонние файлы cookie, используйте режим инкогнито или выберите «Блокировать сторонние файлы cookie» в настройках рабочего стола по адресу chrome://settings/cookies или на мобильном устройстве, перейдя в «Настройки» > «Настройки сайта» > «Файлы cookie» .

Отладка на рабочем столе

Мы работаем над улучшением возможностей отладки FedCM с помощью DevTools. Пока эти функции находятся в разработке, вы можете использовать журналы сетевых запросов chrome://net-export :

  1. Перейдите по адресу chrome://net-export .
  2. Выберите «Включить необработанные байты» и нажмите «Начать запись на диск». При появлении соответствующего запроса выберите место для сохранения журналов.

    Интерфейс инструмента сетевого экспорта: отображается кнопка «Запись статистики на диск» и установлен флажок «Включить необработанные байты».
    Интерфейс инструмента чистого экспорта: Пуск
  3. Откройте страницу, которая вызывает FedCM, например демо-RP .

  4. Завершите поток FedCM, который вы хотите отладить (например, регистрацию пользователя).

  5. Перейдите на chrome://net-export и нажмите «Остановить ведение журнала».

    Интерфейс инструмента сетевого экспорта: файл журнала записан, и отображается путь к файлу.
    Интерфейс инструмента сетевого экспорта: завершена запись на диск.
  6. Откройте свои журналы с помощью инструмента просмотра журналов по вашему выбору, например NetLog Viewer .

  7. При использовании средства просмотра NetLog выберите Events на левой панели и примените фильтр type:URL_REQUEST .

В этом примере журналы показывают, что на конечную точку аккаунтов было отправлено два запроса. Это происходит потому, что пользователь не вошел в систему с помощью IdP при первом посещении страницы. URL_REQUEST_JOB_FILTERED_BYTES_READ указывает, что сервер ответил сообщением об ошибке в теле ответа: { error: "not signed in." } .

Интерфейс инструмента сетевого экспорта: журналы, содержащие сообщение об ошибке в теле ответа.
Интерфейс инструмента сетевого экспорта: ответ об ошибке

Второй запрос /accounts оказался успешным, и IdP ответил данными учетной записи:

Интерфейс инструмента сетевого экспорта: журналы, содержащие данные учетной записи в теле ответа.
Интерфейс инструмента чистого экспорта: ответ с данными учетной записи

Следующие шаги

Узнайте, как реализовать решение для идентификации с помощью FedCM на стороне поставщика удостоверений.
Внедрите FedCM для своих RP и распространяйте JavaScript SDK. Поддерживайте актуальность RP, устраняя необходимость самостоятельной реализации.