Перейти к содержанию

Настройка интеграции с 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, нельзя менять имя УЗ или устанавливать пароль.