Ir al contenido

Google Sign-In

Tipo: SDK · Estado: Disponible · Categoría: Identidad y login

CampoObligatorioDónde obtenerlo
Google Sign in Server KeySíconsole.cloud.google.com/apis/credentials, en la app, cliente OAuth de tipo Web application. Es su Client ID.
Google Sign in iOS Url SchemeSíMismo panel, cliente OAuth de tipo iOS. Aparece al guardarlo, junto al iOS Client ID.
Google Sign in iOS Client IDSíMismo panel, cliente OAuth de tipo iOS. Aparece al guardarlo, junto al iOS URL Scheme.

Para localizarlas, en la consola de Google se selecciona la app en el desplegable de la esquina superior izquierda y se accede a la sección Credentials. En ninguno de los tres clientes hace falta facilitar el secret.

Sección Credentials de la consola de Google Cloud, sin credenciales creadas

Estas credenciales se facilitan a Reskyt por correo electrónico.

Si ya existe una Server Key válida, no hace falta crear otra: basta con facilitarla a Reskyt. En caso contrario:

  1. En Credentials, pulsa + Create Credentials en la parte superior izquierda y selecciona OAuth client ID. Menú Create Credentials de la consola de Google Cloud, con la opción OAuth client ID
  2. Selecciona el tipo de aplicación Web application y asígnale un nombre descriptivo que permita identificarlo después. Formulario de creación de un cliente OAuth de tipo Web application
  3. Al guardar aparece una ventana con el Client ID. Ese es el valor de Google Sign in Server Key. Ventana OAuth client created con el Client ID y el Client Secret, cuyos valores se han ocultado

El cliente de Android debe existir, pero no hay que facilitar a Reskyt ningún dato de él: Google lo configura automáticamente.

  1. En Credentials, pulsa + Create Credentials, selecciona OAuth client ID y el tipo de aplicación Android. Menú Create Credentials de la consola de Google Cloud, con la opción OAuth client ID
  2. Asígnale un nombre descriptivo.
  3. Indica el nombre del paquete de la app.
  4. Indica el SHA-1 del keystore con el que se firma la app. Formulario de creación de un cliente OAuth de tipo Android, con los campos Package name y SHA-1 certificate fingerprint
  5. Guarda. Con eso el proceso está completo.
  1. En Credentials, pulsa + Create Credentials, selecciona OAuth client ID y el tipo de aplicación iOS. Menú Create Credentials de la consola de Google Cloud, con la opción OAuth client ID
  2. Asígnale un nombre descriptivo.
  3. Indica el identificador de la app (bundle ID).
  4. Indica el App Store ID y el Apple team ID. Formulario de creación de un cliente OAuth de tipo iOS, con los campos Bundle ID, App Store ID y Team ID
  5. Al guardar aparece una ventana con el iOS Client ID y el iOS URL Scheme. Son los valores de Google Sign in iOS Client ID y Google Sign in iOS Url Scheme.

Google Sign-In permite iniciar sesión con la cuenta de Google mediante el SDK nativo de Google Sign In, en Android y en iOS. Al terminar el flujo de autenticación, el SDK devuelve un token a la página web, que lo usa para continuar con su propio proceso de autenticación.

Una app en la consola de Google Cloud, con acceso a la sección Credentials, y los clientes OAuth descritos arriba: Web application, Android e iOS.

El cliente obtiene los datos en la consola de Google, crea los clientes OAuth y los facilita a Reskyt. El desarrollador de la web del cliente implementa en la web las funciones que reciben el token y el error.

Reskyt realiza la configuración en el backoffice con las credenciales recibidas.

Activar Google Sign-In obliga a recompilar la app y volver a publicarla en App Store y Google Play.

No añade permisos del sistema propios en iOS ni en Android. El único permiso que se solicita es el de Google para usar la cuenta del usuario en el inicio de sesión, el mismo que ya pide el login con Google del ecommerce.

A la web solo llega el token que devuelve el SDK. Reskyt no almacena datos del usuario. No requiere declaración adicional en las stores.

Los pasos, en orden, son estos:

  1. Reskyt facilita al cliente por correo electrónico el SHA-1, el nombre del paquete de Android y el bundle ID de iOS.
  2. El cliente crea en la consola de Google los clientes OAuth de Web, Android e iOS y obtiene la Server Key, el iOS Client ID y el iOS URL Scheme.
  3. El cliente facilita esas credenciales a Reskyt por correo electrónico.
  4. Reskyt las configura en el backoffice.
  5. Se recompila la app y se publica la nueva versión en las stores.
  6. El desarrollador de la web implementa las funciones de recepción del token y, si el ecommerce verifica el token, añade los IDs de los clientes de Android e iOS.
  7. Se valida el flujo completo.

La página web debe implementar dos funciones JavaScript globales: una recibe el token cuando el SDK completa la autenticación y la otra recibe el error si falla. El ejemplo siguiente solo muestra el valor recibido con un alert; en producción, la primera continúa con la autenticación propia de la web.

function rktGoogleSignInSuccess(token) {
alert(token);
}
function rktGoogleSignInError(token) {
alert("ERROR" + token);
}

Para comprobar que la función de éxito está bien declarada, se ejecuta esta línea en la consola del navegador:

rktGoogleSignInSuccess('token')

Si el ecommerce verifica la integridad del token, hay que añadir en esa verificación los IDs de los clientes generados, tanto el de Android como el de iOS. En caso contrario, la verificación fallará.

Si el inicio de sesión no funciona, estas son las comprobaciones:

CausaQué revisar
Funciones no declaradasQue rktGoogleSignInSuccess y rktGoogleSignInError existan en la web, comprobándolo con la línea de consola anterior.
Verificación del tokenQue, si el ecommerce verifica el token, estén añadidos los IDs de los clientes de Android y de iOS.
Datos del cliente de Android o iOS incorrectosQue el nombre del paquete y el SHA-1 del cliente de Android, y el bundle ID del cliente de iOS, coincidan con los de la app publicada.
Server Key incorrectaQue el valor facilitado sea el Client ID del cliente de tipo Web application, no el de Android ni el de iOS.