Back to Gitlabhq

Utiliser Google OAuth 2.0 comme fournisseur d'authentification OAuth 2.0

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

19.3.05.3 KB
Original Source

{{< details >}}

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

{{< /details >}}

Pour activer le fournisseur OmniAuth Google OAuth 2.0, vous devez enregistrer votre application auprès de Google. Google génère un ID client et une clé secrète à votre intention.

Pour activer Google OAuth, vous devez configurer les éléments suivants :

  • Google Cloud Resource Manager
  • Google API Console
  • Serveur GitLab

Configurer Google Cloud Resource Manager {#configure-the-google-cloud-resource-manager}

  1. Accédez au Google Cloud Resource Manager.
  2. Sélectionnez CREATE PROJECT.
  3. Dans Nom du projet, saisissez GitLab.
  4. Dans ID du projet, Google fournit par défaut un ID de projet généré de manière aléatoire. Vous pouvez utiliser cet ID généré aléatoirement ou en créer un nouveau. Si vous créez un nouvel ID, il doit être unique parmi toutes les applications enregistrées auprès de Google Developer.

Pour voir votre nouveau projet dans la liste, actualisez la page.

Configurer Google API Console {#configure-the-google-api-console}

  1. Accédez à la Google API Console.

  2. Dans le coin supérieur gauche, sélectionnez le projet que vous avez précédemment créé.

  3. Sélectionnez OAuth consent screen et remplissez les champs.

  4. Sélectionnez Identifiants > Create credentials > OAuth client ID.

  5. Remplissez les champs :

    • Application type : sélectionnez Web application.

    • Nom : utilisez le nom par défaut ou saisissez le vôtre.

    • Authorized JavaScript origins : saisissez https://gitlab.example.com.

    • Authorized redirect URIs : saisissez votre nom de domaine suivi des URI de callback, un à la fois :

      plaintext
      https://gitlab.example.com/users/auth/google_oauth2/callback
      https://gitlab.example.com/-/google_api/auth/callback
      
  6. Vous devriez voir un ID client et un secret client. Notez-les ou gardez cette page ouverte, car vous en aurez besoin ultérieurement.

  7. Pour permettre aux projets d'accéder à Google Kubernetes Engine, vous devez également activer les éléments suivants :

    • Google Kubernetes Engine API
    • Cloud Resource Manager API
    • Cloud Billing API

    Pour ce faire :

    1. Accédez à la Google API Console.
    2. Sélectionnez ENABLE APIS AND SERVICES en haut de la page.
    3. Recherchez chacune des API mentionnées précédemment. Sur la page de l'API, sélectionnez ENABLE. L'activation complète de l'API peut prendre quelques minutes.

Configurer le serveur GitLab {#configure-the-gitlab-server}

  1. Ouvrez le fichier de configuration.

    Pour les installations de paquets Linux :

    shell
    sudo editor /etc/gitlab/gitlab.rb
    

    Pour les installations compilées manuellement :

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

  3. Ajoutez la configuration du fournisseur.

    Pour les installations de paquets Linux :

    ruby
    gitlab_rails['omniauth_providers'] = [
      {
        name: "google_oauth2",
        # label: "Provider name", # optional label for login button, defaults to "Google"
        app_id: "<YOUR_APP_ID>",
        app_secret: "<YOUR_APP_SECRET>",
        args: { access_type: "offline", approval_prompt: "" }
      }
    ]
    

    Pour les installations compilées manuellement :

    yaml
    - { name: 'google_oauth2',
        # label: 'Provider name', # optional label for login button, defaults to "Google"
        app_id: 'YOUR_APP_ID',
        app_secret: 'YOUR_APP_SECRET',
        args: { access_type: 'offline', approval_prompt: '' } }
    
  4. Remplacez <YOUR_APP_ID> par l'ID client figurant sur la page Google Developer.

  5. Remplacez <YOUR_APP_SECRET> par le secret client figurant sur la page Google Developer.

  6. Assurez-vous de configurer GitLab avec un nom de domaine pleinement qualifié, car Google n'accepte pas les adresses IP brutes.

    Pour les installations de paquets Linux :

    ruby
    external_url 'https://gitlab.example.com'
    

    Pour les installations compilées manuellement :

    yaml
    gitlab:
      host: https://gitlab.example.com
    
  7. Enregistrez le fichier de configuration.

  8. Pour que les modifications prennent effet :

Sur la page de connexion, une icône Google devrait désormais apparaître sous le formulaire de connexion habituel. Sélectionnez l'icône pour lancer le processus d'authentification. Google demande à l'utilisateur de se connecter et d'autoriser l'application GitLab. Si tout se passe bien, l'utilisateur est redirigé vers GitLab et est connecté.