Jenkins OIDC
Casdoor peut utiliser le protocole OIDC en tant qu'IDP pour connecter diverses applications. Dans cet exemple, nous utiliserons Jenkins pour démontrer comment utiliser OIDC pour se connecter à vos applications.
Voici certains des noms utilisés dans la configuration :
CASDOOR_HOSTNAME
: Le nom de domaine ou l'IP où le serveur Casdoor est déployé.JENKINS_HOSTNAME
: Le nom de domaine ou l'IP où Jenkins est déployé.
Étape 1 : Déployer Casdoor et Jenkins
Tout d'abord, déployez Casdoor et Jenkins.
Après un déploiement réussi, assurez-vous de ce qui suit :
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
origin
de Casdoor (conf/app.conf) surCASDOOR_HOSTNAME
.
Étape 2 : Configurer l'application Casdoor
Créez une nouvelle application Casdoor ou utilisez-en une existante.
Ajoutez une URL de redirection :
http://JENKINS_HOSTNAME/securityRealm/finishLogin
Ajoutez le fournisseur que vous souhaitez et fournissez les paramètres supplémentaires.
Vous obtiendrez deux valeurs de la page des paramètres de l'application : Client ID
et Client secret
. Nous utiliserons ces valeurs à l'étape suivante.
Ouvrez votre navigateur préféré et visitez : http://CASDOOR_HOSTNAME
/.well-known/openid-configuration pour voir la configuration OIDC de Casdoor.
Étape 3 : Configurer Jenkins
Tout d'abord, nous devons installer OpenId Connect Authentication car Jenkins ne prend pas en charge nativement OIDC.
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 Connect
comme Domaine de sécurité.Spécifiez le
Client ID
noté ci-dessus dans le champ Client ID.Spécifiez le
Client secret
noté ci-dessus dans le champ Client secret.Dans le mode de configuration, sélectionnez
Configuration automatique
et 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 manuelle
et 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.