Back to Gitlabhq

Utiliser Auth0 comme fournisseur d'authentification OAuth 2.0

doc-locale/fr-fr/integration/auth0.md

19.3.03.7 KB
Original Source

{{< details >}}

  • Édition : Gratuite, GitLab Premium, GitLab Ultimate
  • Offre : GitLab Self-Managed

{{< /details >}}

Pour activer le fournisseur Auth0 OmniAuth, vous devez créer un compte Auth0 et une application.

  1. Connectez-vous à Auth0 Console. Vous pouvez également créer un compte en utilisant le même lien.

  2. Sélectionnez New App/API.

  3. Saisissez le Application Name. Par exemple, « GitLab ».

  4. Après avoir créé l'application, vous devriez voir les options Quick Start. Ignorez ces options et sélectionnez plutôt Paramètres.

  5. En haut de l'écran Paramètres, vous devriez voir votre Domaine, votre ID du client et votre Client Secret dans Auth0 Console. Notez ces paramètres pour compléter le fichier de configuration ultérieurement. Par exemple :

    • Domaine : test1234.auth0.com
    • ID du client : t6X8L2465bNePWLOvt9yi41i
    • Client Secret : KbveM3nqfjwCbrhaUy_gDu2dss8TIlHIdzlyf33pB7dEK5u_NyQdp65O_o02hXs2
  6. Remplissez le champ Allowed Callback URLs :

    • http://<your_gitlab_url>/users/auth/auth0/callback (ou)
    • https://<your_gitlab_url>/users/auth/auth0/callback
  7. Remplissez le champ Allowed Origins (CORS) :

    • http://<your_gitlab_url> (ou)
    • https://<your_gitlab_url>
  8. Sur votre serveur GitLab, ouvrez le fichier de configuration.

    Pour les installations de paquets Linux :

    shell
    sudo editor /etc/gitlab/gitlab.rb
    

    Pour les installations compilées depuis les sources :

    shell
    cd /home/git/gitlab
    sudo -u git -H editor config/gitlab.yml
    
  9. Configurez les paramètres communs pour ajouter auth0 en tant que fournisseur d'authentification unique (SSO). Cela active le provisionnement de compte Just-In-Time pour les utilisateurs qui ne disposent pas encore d'un compte GitLab.

  10. Ajoutez la configuration du fournisseur :

    Pour les installations de paquets Linux :

    ruby
    gitlab_rails['omniauth_providers'] = [
      {
        name: "auth0",
        # label: "Provider name", # optional label for login button, defaults to "Auth0"
        args: {
          client_id: "<your_auth0_client_id>",
          client_secret: "<your_auth0_client_secret>",
          domain: "<your_auth0_domain>",
          scope: "openid profile email"
        }
      }
    ]
    

    Pour les installations compilées depuis les sources :

    yaml
    - { name: 'auth0',
        # label: 'Provider name', # optional label for login button, defaults to "Auth0"
        args: {
          client_id: '<your_auth0_client_id>',
          client_secret: '<your_auth0_client_secret>',
          domain: '<your_auth0_domain>',
          scope: 'openid profile email' }
      }
    
  11. Remplacez <your_auth0_client_id> par l'ID du client figurant sur la page Auth0 Console.

  12. Remplacez <your_auth0_client_secret> par le secret du client figurant sur la page Auth0 Console.

  13. Remplacez <your_auth0_domain> par le domaine figurant sur la page Auth0 Console.

  14. Reconfigurez ou redémarrez GitLab selon votre méthode d'installation :

Sur la page de connexion, une icône Auth0 devrait désormais apparaître sous le formulaire de connexion habituel. Sélectionnez l'icône pour démarrer le processus d'authentification. Auth0 demande à l'utilisateur de se connecter et d'autoriser l'application GitLab. Si l'utilisateur s'authentifie correctement, il est redirigé vers GitLab et connecté.