Jenkins OIDC
Casdoor может использовать протокол OIDC в качестве IDP для подключения различных приложений. В этом примере мы будем использовать Jenkins, чтобы показать, как использовать OIDC для подключения к вашим приложениям.
Ниже приведены некоторые из имен, используемых в конфигурации:
CASDOOR_HOSTNAME
: доменное имя или IP, где развернут сервер Casdoor.JENKINS_HOSTNAME
: доменное имя или IP, где развернут Jenkins.
Шаг 1: Развертывание Casdoor и Jenkins
Сначала разверните Casdoor и Jenkins.
После успешного развертывания убедитесь в следующем:
Установите URL Jenkins (Управление Jenkins -> Настройка системы -> Местоположение Jenkins) в
JENKINS_HOSTNAME
.Убедитесь, что в Casdoor можно войти и использовать его нормально.
Установите значение
origin
Casdoor (conf/app.conf) вCASDOOR_HOSTNAME
.
Шаг 2: Настройка приложения Casdoor
Создайте новое приложение Casdoor или используйте существующее.
Добавьте URL перенаправления:
http://JENKINS_HOSTNAME/securityRealm/finishLogin
Добавьте нужного провайдера и предоставьте дополнительные настройки.
Вы получите два значения со страницы настроек приложения: Client ID
и Client secret
. Мы будем использовать эти значения на следующем шаге.
Откройте ваш любимый браузер и посетите: http://CASDOOR_HOSTNAME
/.well-known/openid-configuration, чтобы просмотреть конфигурацию OIDC Casdoor.
Шаг 3: Настройка Jenkins
Сначала нам нужно установить OpenId Connect Authentication, так как Jenkins изначально не поддерживает OIDC.
После завершения установки перейдите в Управление Jenkins -> Настройка глобальной безопасности.
Не забудьте сделать резервную копию файла config.xml
Jenkins, чтобы восстановиться в случае ошибок настройки.
В разделе Контроль доступа выберите
Login with Openid Connect
в качестве Области безопасности.Укажите
Client ID
, отмеченный выше, в поле Client ID.Укажите
Client secret
, отмеченный выше, в поле Client secret.В режиме конфигурации выберите
Automatic configuration
и введите http://CASDOOR_HOSTNAME
/.well-known/openid-configuration как конечную точку известной конфигурации.Если ваш Casdoor развернут локально, вам может потребоваться выбрать
Manual configuration
и предоставить следующую информацию:- URL сервера токенов: http://
CASDOOR_HOSTNAME
/api/login/oauth/access_token - URL сервера авторизации: http://
CASDOOR_HOSTNAME
/login/oauth/authorize - URL сервера UserInfo: http://
CASDOOR_HOSTNAME
/api/get-account - Области:
address phone openid profile offline_access email
- URL сервера токенов: http://
Нажмите на Расширенные настройки и заполните следующее:
- В поле Имя пользователя укажите
name
. - В поле Полное имя укажите
displayName
. - В поле Email укажите
email
.
- В поле Имя пользователя укажите
В разделе Авторизация включите «Зарегистрированные пользователи могут делать что угодно» и отключите «Разрешить анонимный доступ на чтение». Вы можете настроить более сложную авторизацию позже, но сейчас проверьте, работает ли OpenID корректно.
Выйдите из Jenkins, и он должен перенаправить вас на Casdoor для аутентификации.