Перейти до основного вмісту

Jenkins OIDC

Casdoor може використовувати протокол OIDC як IDP для підключення різних додатків. У цьому прикладі ми використаємо Jenkins, щоб продемонструвати, як використовувати OIDC для підключення до ваших додатків.

Нижче наведено деякі назви, що використовуються в конфігурації:

  • CASDOOR_HOSTNAME: Доменне ім'я або IP, де розгорнуто сервер Casdoor.

  • JENKINS_HOSTNAME: Доменне ім'я або IP, де розгорнуто Jenkins.

Крок 1: Розгортання Casdoor та Jenkins

Спочатку розгорніть Casdoor та Jenkins.

Після успішного розгортання переконайтеся в наступному:

  1. Встановіть URL Jenkins (Управління Jenkins -> Налаштування системи -> Розташування Jenkins) на JENKINS_HOSTNAME. URL Jenkins

  2. Переконайтеся, що в Casdoor можна увійти та використовувати його нормально.

  3. Встановіть значення origin Casdoor (conf/app.conf) на CASDOOR_HOSTNAME. Конфігурація Casdoor

Крок 2: Налаштування додатку Casdoor

  1. Створіть новий додаток Casdoor або використовуйте існуючий.

  2. Додайте URL перенаправлення: http://JENKINS_HOSTNAME/securityRealm/finishLogin Налаштування додатку Casdoor

  3. Додайте провайдера, якого ви хочете, та надайте будь-які додаткові налаштування.

Ви отримаєте два значення зі сторінки налаштувань додатку: Client ID та Client secret. Ми використаємо ці значення на наступному кроці.

Відкрийте улюблений браузер і відвідайте: http://CASDOOR_HOSTNAME/.well-known/openid-configuration, щоб переглянути конфігурацію OIDC Casdoor.

Крок 3: Налаштування Jenkins

Спочатку нам потрібно встановити OpenId Connect Authentication, оскільки Jenkins не підтримує OIDC за замовчуванням.

Після завершення встановлення перейдіть до Управління Jenkins -> Налаштування глобальної безпеки. глобальна безпека Jenkins

порада

Не забудьте зробити резервну копію файлу config.xml Jenkins, щоб відновити його у разі помилок налаштування.

  1. У розділі Контроль доступу виберіть Login with Openid Connect як Область безпеки.

  2. Вкажіть Client ID, зазначений вище, у полі Client ID.

  3. Вкажіть Client secret, зазначений вище, у полі Client secret.

  4. У режимі конфігурації виберіть Automatic configuration та введіть http://CASDOOR_HOSTNAME/.well-known/openid-configuration як кінцеву точку відомої конфігурації. Налаштування Jenkins

    Якщо ваш 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 Ручна конфігурація
  5. Натисніть на Розширені налаштування та заповніть наступне:

    • У полі Ім'я користувача вкажіть name.
    • У полі Повне ім'я вкажіть displayName.
    • У полі Email вкажіть email.

    Налаштування поля Userinfo

  6. У розділі Авторизація увімкніть “Logged-in users can do anything” та вимкніть “Allow anonymous read access”. Ви можете налаштувати більш складну авторизацію пізніше, але зараз перевірте, чи правильно працює OpenID.

    Вийдіть з Jenkins, і вас має перенаправити до Casdoor для аутентифікації.Сторінка входу в Jenkins