Integra el Acceso con Google en tu app web

El Acceso con Google administra el flujo de OAuth 2.0 y el ciclo de vida del token, lo que simplifica tu integración con las API de Google. Un usuario siempre tiene la opción de revocar el acceso a una aplicación en cualquier momento.

En este documento, se describe cómo completar una integración básica con el Acceso con Google.

Crea credenciales de autorización

Cualquier aplicación que use OAuth 2.0 para acceder a las API de Google debe tener credenciales de autorización que identifiquen la aplicación para el servidor de OAuth 2.0 de Google. En los siguientes pasos, se explica cómo crear credenciales para tu proyecto. Luego, tus aplicaciones pueden usar las credenciales con el objetivo de acceder a las APIs que hayas habilitado para ese proyecto.

  1. Go to the Credentials page.
  2. Haz clic en Crear credenciales > ID de cliente de OAuth.
  3. Selecciona el tipo de aplicación Aplicación web.
  4. Asigna un nombre a tu cliente de OAuth 2.0 y haz clic en Crear.

Una vez que se complete la configuración, toma nota del ID de cliente que se creó. Necesitarás el ID de cliente para completar los próximos pasos. También se crea un secreto del cliente, pero solo lo necesitas para las operaciones del servidor.

Carga la biblioteca de Google Platform

Debes incluir la biblioteca de Google Platform en tus páginas web que integran el Acceso con Google.

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

Especifica el ID de cliente de tu app

Especifica el ID de cliente que creaste para tu app en Google Developers Console con el metaelemento google-signin-client_id.

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

Agrega un botón de Acceso con Google

La manera más fácil de agregar un botón de Acceso con Google a tu sitio es usar uno renderizado automáticamente. Con solo unas pocas líneas de código, puedes agregar un botón que se configure automáticamente y tenga el texto, el logotipo y los colores adecuados para el estado de acceso del usuario y los permisos que solicites.

Para crear un botón de Acceso con Google que use la configuración predeterminada, agrega un elemento div con la clase g-signin2 a tu página de acceso:

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

Obtén información del perfil

Después de que un usuario accede a Google con los permisos predeterminados, puedes acceder al ID de Google, el nombre, la URL del perfil y la dirección de correo electrónico del usuario.

Para recuperar la información del perfil de un usuario, usa el método 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.
}

Cierra la sesión de un usuario

Para permitir que los usuarios salgan de tu app sin salir de Google, puedes agregar un botón o vínculo de salir a tu sitio. Para crear un vínculo de cierre de sesión, adjunta una función que llame al método GoogleAuth.signOut() al evento onclick del vínculo.

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