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 effectuer une intégration Google Sign-In standard.

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 identifient l'application auprès du 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 Application Web.
  4. Nommez votre client OAuth 2.0, puis 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 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 méta 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 généré automatiquement. Avec 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 en fonction de l'état de connexion de l'utilisateur et des portées que vous demandez.

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

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

Obtenir des informations sur le profil

Une fois qu'un utilisateur s'est connecté à Google à l'aide des portées par défaut, vous pouvez accéder à son ID Google, à son nom, à l'URL de son profil et à son adresse e-mail.

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 ou un lien de déconnexion à votre site. Pour créer un lien de déconnexion, joignez 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>