Registrar app en Google+ para autentificar usuarios

En este Artículo, detallo paso a paso, como registrar un proyecto en la plataforma de Google+ para poder utilizar Google para autentificar al usuario en mi app (ya sea Android o iOS, nativa o híbrida).

Nueva app en Google+

  1. Creo un Proyecto API desde la consola de desarrolladores de google
    console developers

  2. Click en el proyecto recién creado si no está ya seleccionado (panel lateral) y habilito las APIs
    enter image description here

  3. Dentro de Social APIs selecciono Google+ API y le doy click a Habilitar.
    social APIs link

  4. En el panel lateral, selecciono Credenciales, y creo un nuevo ID de cliente OAuth
    enter image description here

  5. Seleccionamos la opción de Aplicación Instalada y damos a aceptar.

  6. Introducimos los datos de la aplicación, de momento email, nombre y logotipo.

  7. Elegimos, como tipo de aplicación Android

    1. Añadimos el nombre del paquete. Esto es un identificador único que tiene nuestra aplicación, y que podemos encontrar en en AndroidManifest.xml de nuestra aplicación, bajo el concepto package.
      Yo utilizo: com.enriqueoriol.demoApp.android

    2. Creamos la huella digital del certificado de firma (SHA-1):

      1. Abrimos un terminal
      2. escribimos

        keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -list -v

        Donde androiddebugkey es el nombre que usaremos posteriormente para firmar la app (podríamos usar otro nombre).
        El parámetro que pasamos con -keystore es el almacen de claves (en este caso de debug), que Eclipse suele crear justamente en esta ubicación: ~/.android/debug.keystore

      3. La utilidad keytool nos pedirá la constraseña del almacén de claves, que por defecto es android.

      4. La salida por consola nos devuelve las huellas digitales, entre ellas una asociada al certificado SHA1, tipo:
        SHA1: DA:39:A3:EE:5E:6B:4B:0D:32:55:BF:EF:95:60:18:90:AF:D8:07:09

    3. Cogemos la cadena resultante del certificado SHA1, y la copiamos en el formulario para crear el ID de cliente de la app, en la sección Huella digital de certificado de firma (SHA1).

    4. Marcamos a NO las opciones de enlaces profundos.
      A modo resumen, los enlaces profundos de Google+ permiten a alguien compartir algo desde la app, y ese post en el que se ha compartido información permite acceder directamente a la app, en un contexto determinado, o en caso de no disponer de la app, ir a la página de descarga. Es una opción interesante, pero nosotros no vamos a necesitar esa funcionalidad.
      Google+ Create Client ID

  8. Finalmente, damos a crear ID de cliente.

  9. Repetimos el procedimiento con iOS desde el paso 4 (hasta el paso 6 es lo mismo). En este caso, seleccionamos Tipo de Aplicación iOS.

    1. Introduzco también un identificador para la app iOS, y de momento dejo el ID de Appple vacío. Le doy a Crear ID de cliente.
      Google+ iOS Create Client ID

Hay que tener en cuenta la importancia del identificador de app en Android, y el ID de App Store en iOS, pues es lo que se utilizará para detectar la coincidencia entre la app que está registrada, y la que está utilizando la API de Google+ para intentar acceder.

Y eso es todo, desde este momento, podemos integrar el login con la cuenta de google en nuestra app. Fácil, ¿eh?