Zum Hauptinhalt springen

Jenkins OIDC

Casdoor kann das OIDC-Protokoll als IDP verwenden, um verschiedene Anwendungen zu verbinden. In diesem Beispiel werden wir Jenkins verwenden, um zu demonstrieren, wie man OIDC verwendet, um sich mit Ihren Anwendungen zu verbinden.

Die folgenden sind einige der Namen, die in der Konfiguration verwendet werden:

  • CASDOOR_HOSTNAME: Der Domainname oder die IP, wo der Casdoor-Server bereitgestellt ist.

  • JENKINS_HOSTNAME: Der Domainname oder die IP, wo Jenkins bereitgestellt ist.

Schritt 1: Casdoor und Jenkins bereitstellen

Zuerst, deployen Sie Casdoor und Jenkins.

Nach einer erfolgreichen Bereitstellung, stellen Sie sicher, dass Folgendes gegeben ist:

  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. Erstellen Sie eine neue Casdoor-Anwendung oder verwenden Sie eine bestehende.

  2. Fügen Sie eine Redirect-URL hinzu: http://JENKINS_HOSTNAME/securityRealm/finishLogin Casdoor Anwendungseinstellungen

  3. Fügen Sie den gewünschten Anbieter hinzu und stellen Sie zusätzliche Einstellungen bereit.

Sie erhalten zwei Werte von der Anwendungseinstellungsseite: Client ID und Client secret. Wir werden diese Werte im nächsten Schritt verwenden.

Öffnen Sie Ihren bevorzugten Browser und besuchen Sie: http://CASDOOR_HOSTNAME/.well-known/openid-configuration, um die OIDC-Konfiguration von Casdoor zu sehen.

Schritt 3: Jenkins konfigurieren

Zuerst müssen wir OpenId Connect Authentication installieren, da Jenkins OIDC nicht nativ unterstützt.

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