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.
Étape 1 : Déployer Casdoor et Jenkins
Deploy Casdoor and Jenkins. Then:
-
Définissez l'URL de Jenkins (Gérer Jenkins -> Configurer le système -> Emplacement de Jenkins) sur
JENKINS_HOSTNAME.
-
Assurez-vous que Casdoor peut être connecté et utilisé normalement.
-
Définissez la valeur
originde Casdoor (conf/app.conf) surCASDOOR_HOSTNAME.
Étape 2 : Configurer l'application Casdoor
- Create or edit a Casdoor application.
- Add redirect URL:
http://JENKINS_HOSTNAME/securityRealm/finishLogin. - 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

Étape 3 : Configurer Jenkins
Install the OpenId Connect Authentication plugin (Jenkins does not support OIDC by default).
Une fois l'installation terminée, allez dans Gérer Jenkins -> Configurer la sécurité globale. 
Assurez-vous de sauvegarder le fichier config.xml de Jenkins pour pouvoir récupérer en cas d'erreurs de configuration.
-
Dans le contrôle d'accès, sélectionnez
Login with Openid Connectcomme Domaine de sécurité. -
Spécifiez le
Client IDnoté ci-dessus dans le champ Client ID. -
Spécifiez le
Client secretnoté ci-dessus dans le champ Client secret. -
Dans le mode de configuration, sélectionnez
Configuration automatiqueet entrez http://CASDOOR_HOSTNAME/.well-known/openid-configuration comme point de terminaison de configuration bien connu.
Si votre Casdoor est déployé localement, vous devrez peut-être sélectionner
Configuration manuelleet fournir les informations suivantes :- URL du serveur de jetons : http://
CASDOOR_HOSTNAME/api/login/oauth/access_token - URL du serveur d'autorisation : http://
CASDOOR_HOSTNAME/login/oauth/authorize - URL du serveur UserInfo : http://
CASDOOR_HOSTNAME/api/get-account - Portées :
address phone openid profile offline_access email
- URL du serveur de jetons : http://
-
Cliquez sur Paramètres avancés et remplissez ce qui suit :
- Dans le champ Nom d'utilisateur, spécifiez
name. - Dans le champ Nom complet, spécifiez
displayName. - Dans le champ Email, spécifiez
email.

- Dans le champ Nom d'utilisateur, spécifiez
-
Dans la section Autorisation, activez « Les utilisateurs connectés peuvent tout faire » et désactivez « Autoriser l'accès en lecture anonyme ». Vous pouvez configurer une autorisation plus complexe plus tard, mais pour l'instant, vérifiez si OpenID fonctionne correctement.
Déconnectez-vous de Jenkins, et cela devrait vous rediriger vers Casdoor pour l'authentification.
