Настройка интеграции с OpenID Connect¶
Страница аутентификации CodeScoring¶
CodeScoring поддерживает аутентификацию и авторизацию пользователей по протоколу OpenID Connect. На странице аутентификации доступно меню с выбором провайдера аутентификации. Помимо провайдера по умолчанию (локальные учётные записи, internal directory
) и интеграций с LDAP, доступны для выбора активные интеграции с OpenID Connect.
Настройка клиента на стороне провайдера OpenID Connect¶
Ниже представлен пример валидной конфигурации клиента OpenID Connect на стороне провайдера при условии, что URL
инсталляции CodeScoring - https://codescoring.example.com/
:
- Root url -
https://codescoring.example.com/
; - Home url -
https://codescoring.example.com/cabinet/dashboard/
; - Valid redirect urls -
https://codescoring.example.com/auth/oidc/callback*
; - Web origins -
https://codescoring.example.com/
; - Admin url -
https://codescoring.example.com/
; - Authentication flow - standard flow.
Настройка интеграции с OpenID Connect на стороне CodeScoring¶
Сконфигурировать OpenID Connect на стороне CodeScoring можно в разделе Настройки -> Провайдеры идентичности -> OpenID Connect
.
Переход на форму создания нового подключения осуществляется по кнопке Создать. В форме необходимо заполнить следующие поля:
- Наименование - название интеграции, будет отображаться на экране аутентификации;
- Активно - флаг активности интеграции, в зависимости от значения, эта интеграция будет доступна как провайдер аутентификации;
- Issuer URL провайдера - адрес издателя провайдера OpenID Connect;
- Authorization URL провайдера - URL для авторизации в провайдере OpenID Connect, значение можно получить по
$ISSUER_URL/.well-known/openid-configuration
; - Token URL провайдера - URL для получения у провайдера токена авторизации, значение можно получить по
$ISSUER_URL/.well-known/openid-configuration
; - UserInfo URL провайдера - UserInfo эндпоинт провайдера, значение можно получить по
$ISSUER_URL/.well-known/openid-configuration
; - JWKS URL провайдера - JWKS эндпоинт провайдера, значение можно получить по
$ISSUER_URL/.well-known/openid-configuration
; - Идентификатор клиента - значение должно соответствовать полю идентификатор клиента (client id) в конфигурации клиента на стороне провайдера;
- Секрет клиента - значение должно соответствовать полю секрет клиента (client secret) в конфигурации клиента на стороне провайдера;
- Области доступа клиента - значения передаются в параметре scope запроса авторизации;
- Поле с идентификатором субъекта - название поля с идентификатором субъекта (sub) в ответе, возвращаемом эндпоинтом UserInfo;
- Поле с именем учётной записи - название поля с предпочитаемым именем УЗ пользователя в ответе, возвращаемом эндпоинтом UserInfo;
- Поле с именем - название поля с именем пользователя в ответе, возвращаемом эндпоинтом UserInfo;
- Поле с фамилией - название поля с фамилией пользователя в ответе, возвращаемом эндпоинтом UserInfo;
- Поле с email - название поля с email пользователя в ответе, возвращаемом эндпоинтом UserInfo.
УЗ CodeScoring, созданные при аутентификации через OpenID Connect¶
При аутентификации через OpenID Connect, CodeScoring будет создавать новые или обновлять существующие учётные записи.
Соотносятся следующие данные:
- Идентификатор субъекта в провайдере OpenID Connect;
- Предпочитаемое название УЗ;
- Имя;
- Фамилия;
- Email.
УЗ, созданные таким образом, можно добавлять в группы, для них можно менять уровень доступа так же, как и для обычных УЗ.
Для УЗ, созданных при аутентификации через KeyCloak, нельзя менять имя УЗ или устанавливать пароль.