Аутентификация: OIDC

Auth: OIDCProfessional Edition+

Введение

Плагин Аутентификация: OIDC следует стандарту протокола OIDC (Open ConnectID), используя сценарий с использованием кода авторизации (Authorization Code Flow), чтобы позволить пользователям входить в NocoBase с помощью учетных записей, предоставляемых сторонними провайдерами идентификации (IdP).

Активировать плагин

Добавить OIDC-аутентификацию

Перейдите на страницу управления плагинами аутентификации пользователей.

Добавить — OIDC

Конфигурация

Базовая конфигурация

КонфигурацияОписаниеВерсия
Автоматически регистрировать пользователя, если он не существуетНужно ли автоматически создавать нового пользователя, если не найден подходящий существующий пользователь.-
ПоставщикПоставщик, предоставленный IdP (обычно оканчивается на /.well-known/openid-configuration).-
ID клиентаID клиента-
Секрет клиентаСекрет клиента-
Область доступаОпционально, по умолчанию openid email profile.-
Алгоритм подписи ответа id_tokenАлгоритм подписи для id_token, по умолчанию RS256.-
Включить выход по инициативе RPВключить RP-инициируемый выход. Делает выход сессии IdP при выходе пользователя. Callback для выхода IdP должен использовать URL возврата после выхода, указанный в Использовании.v1.3.44-beta

Сопоставление полей

КонфигурацияОписание
Сопоставление полейNocoBase поддерживает сопоставление полей, таких как Никнейм, email и номер телефона. По умолчанию Никнейм использует openid.
Используйте это поле для привязки пользователяПоле используется для сопоставления и привязки к существующим пользователям. Можно выбрать email или username, по умолчанию используется email. IdP должен предоставлять информацию email или username.

Расширенная конфигурация

КонфигурацияОписаниеВерсия
HTTPИспользуется ли в callback URL NocoBase протокол HTTP; по умолчанию https.-
ПортПорт для callback URL NocoBase; по умолчанию 443/80.-
Токен состоянияИспользуется для проверки источника запроса и защиты от атак CSRF. Можно указать фиксированное значение, но сильно рекомендуется оставлять это поле пустым, чтобы по умолчанию генерировались случайные значения. При использовании фиксированного значения внимательно оцените вашу среду и риски безопасности.-
Передавать параметры при обмене кода авторизацииНекоторые IdP могут требовать передавать ID клиента или Секрет клиента в параметрах при обмене кода на токен. Можно выбрать этот параметр и указать соответствующие имена параметров.-
Метод вызова эндпоинта пользовательской информацииHTTP-метод запроса к эндпоинту пользовательской информации.-
Где указывать токен при получении данных пользователяКак передается токен доступа при вызове API пользоательской информации:
- Header — в заголовке запроса (по умолчанию).
- Body — в теле запроса (используется с методом POST).
- Query parameters — в query-параметрах (используется с методом GET).
-
Пропустить SSL проверкуПропустить проверку SSL при запросе API IdP. Включение этого параметра подвергает систему рискам атак «man-in-the-middle». Включайте только если понимаете назначение и последствия. В продакшн-средах крайне не рекомендуется.v1.3.40-beta

Использование

Конфигурация (Configuration)Описание (Description)
Адрес перенаправленияИспользуется для настройки callback URL в IdP.
Адрес перенаправления после выходаИспользуется для настройки URL перенаправления после выхода в IdP, когда включен RP-инициируемый выход.
Info

При локальном тестировании используйте 127.0.0.1 вместо localhost, поскольку вход через OIDC требует записи состояния в cookie клиента для проверки безопасности. Если вы видите короткое отображение окна входа, но не можете успешно войти, проверьте серверные логи на проблемы несоответствия состояния и убедитесь, что параметр состояния присутствует в cookie запроса. Эта проблема часто возникает, когда состояние в cookie клиента не совпадает с состоянием в запросе.

Вход

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