Intégrer Google Sign-In à votre application Web

Google Sign-In gère le flux OAuth 2.0 et le cycle de vie des jetons, ce qui simplifie votre intégration aux API Google. Un utilisateur a toujours la possibilité de révoquer l'accès à une application à tout moment.

Ce document explique comment procéder à une intégration basique de Google Sign-In.

Créer des identifiants d'autorisation

Toute application qui utilise OAuth 2.0 pour accéder aux API Google doit disposer d'identifiants d'autorisation qui l'identifient sur le serveur OAuth 2.0 de Google. Les étapes suivantes expliquent comment créer des identifiants pour votre projet. Vos applications peuvent ensuite utiliser les identifiants pour accéder aux API que vous avez activées pour ce projet.

  1. Go to the Credentials page.
  2. Cliquez sur Créer des identifiants > ID client OAuth.
  3. Sélectionnez le type d'application Web application (Application Web).
  4. Nommez votre client OAuth 2.0 et cliquez sur Créer.

Une fois la configuration terminée, notez l'ID client créé. Vous en aurez besoin pour effectuer les étapes suivantes. (Un code secret du client est également créé, mais vous n'en avez besoin que pour les opérations côté serveur.)

Charger la bibliothèque Google Platform

Vous devez inclure la bibliothèque Google Platform sur vos pages Web qui intègrent Google Sign-In.

<script src="https://apis.google.com/js/platform.js" async defer></script>

Spécifier l'ID client de votre application

Spécifiez l'ID client que vous avez créé pour votre application dans la Google Developers Console avec l'élément Meta google-signin-client_id.

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">

Ajouter un bouton Google Sign-In

Le moyen le plus simple d'ajouter un bouton Google Sign-In à votre site consiste à utiliser un bouton de connexion automatique. En seulement quelques lignes de code, vous pouvez ajouter un bouton qui se configure automatiquement pour afficher le texte, le logo et les couleurs appropriés pour l'état de connexion de l'utilisateur et les champs d'application que vous demandez.

Pour créer un bouton Google Sign-In utilisant les paramètres par défaut, ajoutez à votre page de connexion un élément div avec la classe g-signin2:

<div class="g-signin2" data-onsuccess="onSignIn"></div>

Obtenir des informations sur le profil

Une fois que vous avez connecté un utilisateur avec Google à l'aide des champs d'application par défaut, vous pouvez accéder à l'ID Google, au nom, à l'URL du profil et à l'adresse e-mail de l'utilisateur.

Pour récupérer les informations de profil d'un utilisateur, utilisez la méthode getBasicProfile().

function onSignIn(googleUser) {
  var profile = googleUser.getBasicProfile();
  console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
  console.log('Name: ' + profile.getName());
  console.log('Image URL: ' + profile.getImageUrl());
  console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
}

Déconnecter un utilisateur

Vous pouvez permettre aux utilisateurs de se déconnecter de votre application sans se déconnecter de Google en ajoutant un bouton de déconnexion ou un lien vers votre site. Pour créer un lien de déconnexion, associez une fonction qui appelle la méthode GoogleAuth.signOut() à l'événement onclick du lien.

<a href="#" onclick="signOut();">Sign out</a>
<script>
  function signOut() {
    var auth2 = gapi.auth2.getAuthInstance();
    auth2.signOut().then(function () {
      console.log('User signed out.');
    });
  }
</script>