Passer au contenu principal

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 :

  1. Définissez l'URL de Jenkins (Gérer Jenkins -> Configurer le système -> Emplacement de Jenkins) sur JENKINS_HOSTNAME. URL de Jenkins

  2. Assurez-vous que Casdoor peut être connecté et utilisé normalement.

  3. Définissez la valeur origin de Casdoor (conf/app.conf) sur CASDOOR_HOSTNAME. Configuration de Casdoor

Étape 2 : Configurer l'application Casdoor

  1. Créez une nouvelle application Casdoor ou utilisez-en une existante.

  2. Ajoutez une URL de redirection : http://JENKINS_HOSTNAME/securityRealm/finishLogin Paramètres de l'application Casdoor

  3. 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. sécurité globale de Jenkins

conseil

Assurez-vous de sauvegarder le fichier config.xml de Jenkins pour pouvoir récupérer en cas d'erreurs de configuration.

  1. Dans le contrôle d'accès, sélectionnez Login with Openid Connect comme Domaine de sécurité.

  2. Spécifiez le Client ID noté ci-dessus dans le champ Client ID.

  3. Spécifiez le Client secret noté ci-dessus dans le champ Client secret.

  4. 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. Paramètres de Jenkins

    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 Configuration manuelle
  5. 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.

    Paramétrage du champ Userinfo

  6. 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.Page de connexion Jenkins