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
.
- У полі Ім'я користувача вкажіть
У розділі Авторизація увімкніть “Logged-in users can do anything” та вимкніть “Allow anonymous read access”. Ви можете налаштувати більш складну авторизацію пізніше, але зараз перевірте, чи правильно працює OpenID.
Вийдіть з Jenkins, і вас має перенаправити до Casdoor для аутентифікації.