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

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. В разделе Авторизация включите «Зарегистрированные пользователи могут делать что угодно» и отключите «Разрешить анонимный доступ на чтение». Вы можете настроить более сложную авторизацию позже, но сейчас проверьте, работает ли OpenID корректно.

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