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 APIs 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 APIs 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, las aplicaciones pueden usar las credenciales para acceder a las APIs que habilitaste 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 finalizada 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 de cliente, pero solo lo necesitas para operaciones del servidor).

Carga la biblioteca de Google Platform

Debes incluir la biblioteca de Google Platform en tus páginas web que integren 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 forma más fácil de agregar un botón de Acceso con Google a tu sitio es usar un botón de acceso que se renderiza automáticamente. Con solo unas pocas líneas de código, puedes agregar un botón que se configure automáticamente para tener el texto, el logotipo y los colores adecuados para el estado de acceso del usuario y los alcances 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 de 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.
}

Cerrar la sesión de un usuario

Puedes agregar un botón o vínculo a tu sitio para que los usuarios puedan salir de la app sin salir de Google. Para crear un vínculo de salida, 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>