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

Jenkins (OIDC)

Use Casdoor as the OIDC identity provider for Jenkins so users sign in with their Casdoor accounts.

Terms: CASDOOR_HOSTNAME — Casdoor server URL; JENKINS_HOSTNAME — Jenkins server URL.

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

Deploy Casdoor and Jenkins. Then:

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

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

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

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

  1. Create or edit a Casdoor application.
  2. Add redirect URL: http://JENKINS_HOSTNAME/securityRealm/finishLogin.
  3. Add providers as needed. Note the Client ID and Client secret from the application page.

OIDC discovery URL: http://CASDOOR_HOSTNAME/.well-known/openid-configuration

Налаштування додатку Casdoor

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

Install the OpenId Connect Authentication plugin (Jenkins does not support OIDC by default).

Після завершення встановлення перейдіть до Управління 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