Passer au contenu principal

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:

  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. Create or edit a Casdoor application.
  2. Add redirect URL: http://JENKINS_HOSTNAME/securityRealm/finishLogin.
  3. 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

Paramètres de l'application Casdoor

É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. 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