Zum Hauptinhalt springen

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.

Schritt 1: Casdoor und Jenkins bereitstellen

Deploy Casdoor and Jenkins. Then:

  1. Setzen Sie die Jenkins URL (Manage Jenkins -> Configure System -> Jenkins Location) auf JENKINS_HOSTNAME. Jenkins URL

  2. Stellen Sie sicher, dass Casdoor angemeldet und normal verwendet werden kann.

  3. Setze den origin Wert von Casdoor (conf/app.conf) auf CASDOOR_HOSTNAME. Casdoor Konfiguration

Schritt 2: Die Casdoor-Anwendung konfigurieren

  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 Anwendungseinstellungen

Schritt 3: Jenkins konfigurieren

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

Nach der Installation gehen Sie zu Manage Jenkins -> Configure Global Security. Jenkins globale Sicherheit

Tipp

Stellen Sie sicher, dass Sie die Jenkins config.xml Datei sichern, um im Falle von Einrichtungsfehlern wiederherstellen zu können.

  1. In der Zugriffskontrolle wählen Sie Login with Openid Connect als Security Realm.

  2. Geben Sie die oben notierte Client ID im Feld Client ID an.

  3. Geben Sie das oben notierte Client secret im Feld Client secret an.

  4. Im Konfigurationsmodus wählen Sie Automatic configuration und geben Sie http://CASDOOR_HOSTNAME/.well-known/openid-configuration als den Well-known configuration endpoint an. Jenkins' Einstellungen

    Wenn Ihr Casdoor lokal bereitgestellt ist, müssen Sie möglicherweise Manual configuration wählen und die folgenden Informationen bereitstellen:

    • Token-Server-URL: http://CASDOOR_HOSTNAME/api/login/oauth/access_token
    • Autorisierungsserver-URL: http://CASDOOR_HOSTNAME/login/oauth/authorize
    • UserInfo-Server-URL: http://CASDOOR_HOSTNAME/api/get-account
    • Scopes: address phone openid profile offline_access email Manuelle Konfiguration
  5. Klicken Sie auf Erweiterte Einstellungen und füllen Sie Folgendes aus:

    • Im Benutzernamenfeld geben Sie name an.
    • Im Vollständigen Namenfeld geben Sie displayName an.
    • Im E-Mail-Feld geben Sie email an.

    Benutzerinformationsfeld Einstellung

  6. Im Abschnitt Autorisierung aktivieren Sie „Angemeldete Benutzer können alles tun“ und deaktivieren Sie „Anonymen Lesezugriff erlauben“. Sie können später eine komplexere Autorisierung konfigurieren, aber prüfen Sie zunächst, ob OpenID korrekt funktioniert.

    Melden Sie sich von Jenkins ab, und Sie sollten zur Authentifizierung an Casdoor weitergeleitet werden.Jenkins Anmeldeseite