Cómo registrar usuarios con la cuenta de Google en la aplicación Android

Por lo tanto, estoy creando una aplicación para Android, y junto con mi método de registro estándar, me gustaría permitir a los usuarios registrarse con su cuenta de Google. He visto mucha información sobre "Iniciar sesión con Google+", así como implementaciones de OAuth. Sin embargo, todavía no he visto nada que realmente toque en la autenticación de un usuario y permitiéndoles registrarse para una aplicación con su cuenta de Google, y luego iniciar sesión utilizando la misma cuenta, haciendo referencia a mi copia local del registro de la cuenta de usuario en Mi base de datos Esencialmente, lo que quiero hacer es:

  • Permitir que el usuario registre una cuenta usando su cuenta de Google, que asumo que tiraría la información básica tal como nombre y dirección de correo electrónico, que podría utilizar para crear un expediente del db local
  • Cuando el usuario se registre con su cuenta de Google, vincule ese registro o id de token al registro real en mi base de datos. Algo que me permite identificar ese usuario / registro con una cuenta de Google
  • Cuando el usuario decide iniciar sesión con Google, busca una asociación existente (id de acceso / token) e ingresa con esa información (suponiendo que siga siendo válida) y, al mismo tiempo, extraiga la información de su cuenta local (por ejemplo, Una aplicación de revisión de películas) vinculada a esa cuenta de Google.

Espero haber explicado lo que estoy tratando de lograr, pero si todavía suena un poco vago, házmelo saber y trataré de explicar más. Cualquier ayuda es muy apreciada. Obviamente no espero que nadie me codifique esto, sólo para señalarme en la dirección correcta, o simplemente dime que lo que estoy tratando de hacer es una idea horrible. De cualquier manera, gracias de antemano!

Puede obtener la lista de cuentas de Google en la máquina y utilizarla como clave (consulte AccountManager), pero ¿cómo evitar que alguien falsifique una conexión con su servidor utilizando otra cuenta? "Simplemente" la autenticación es complicada si desea 1 / evitar fallas de seguridad y 2 / evitar manejar la contraseña de usuario.
Así que OAuth es el camino a seguir: el teléfono generará un token de acceso (después de que se pida al usuario que permita que su aplicación acceda a su cuenta), este token puede ser enviado a su servidor (https), entonces su servidor puede comprobar contra google Servidores que el token es válido y devuelve un identificador único para el usuario.
Consulta http://developer.android.com/google/play-services/auth.html.

Usted debe empezar leyendo algunos tutoriales sobre cómo lograr el registro.

https://developers.google.com/+/mobile/android/sign-in

y

https://developer.android.com/google/play-services/index.html

Tal vez para el manejo de la base de datos debe utilizar un proveedor de contenido:

http://thinkandroid.wordpress.com/2010/01/13/writing-your-own-contentprovider/

o

http://www.vogella.com/tutorials/AndroidSQLite/article.html

El resto es sólo la codificación y un trabajo duro. Espero que te dije problema.

  • Java.lang.IllegalStateException: Ya conectado
  • JDBC vs Servicio Web para Android
  • Cómo subir imágenes al servidor Php y almacenar en phpmyadmin
  • Android JDBC no funciona: ClassNotFoundException en el controlador
  • SQLiteDatabase - ¿Cómo utilizar la cláusula where?
  • (Necesita asesoramiento) Hable con la base de datos de MySQL desde mi aplicación para Android
  • ¿Puede una aplicación Android conectarse directamente a una base de datos mysql en línea
  • ¿Cómo conectar la aplicación de Android a la base de datos MySQL?
  • ¿Diferencia entre las bases de datos MySQL / SQLite / etc?
  • No se puede almacenar emoji en la base de datos
  • MySQL - Combinando INSERT, VALUES y SELECT?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.