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:
Setzen Sie die Jenkins URL (Manage Jenkins -> Configure System -> Jenkins Location) auf
JENKINS_HOSTNAME
.Stellen Sie sicher, dass Casdoor angemeldet und normal verwendet werden kann.
Setze den
origin
Wert von Casdoor (conf/app.conf) aufCASDOOR_HOSTNAME
.
Schritt 2: Die Casdoor-Anwendung konfigurieren
Erstellen Sie eine neue Casdoor-Anwendung oder verwenden Sie eine bestehende.
Fügen Sie eine Redirect-URL hinzu:
http://JENKINS_HOSTNAME/securityRealm/finishLogin
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.
Stellen Sie sicher, dass Sie die Jenkins config.xml
Datei sichern, um im Falle von Einrichtungsfehlern wiederherstellen zu können.
In der Zugriffskontrolle wählen Sie
Login with Openid Connect
als Security Realm.Geben Sie die oben notierte
Client ID
im Feld Client ID an.Geben Sie das oben notierte
Client secret
im Feld Client secret an.Im Konfigurationsmodus wählen Sie
Automatic configuration
und geben Sie http://CASDOOR_HOSTNAME
/.well-known/openid-configuration als den Well-known configuration endpoint an.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
- Token-Server-URL: http://
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.
- Im Benutzernamenfeld geben Sie
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.