2012-03-10 19 views
13

Estoy creando una aplicación que necesitará usuarios para crear una cuenta. (Como Facebook o Twitter lo requerirían)¿Puedo usar AccountManager para permitir que los usuarios inicien sesión con su cuenta de Google?

PERO, dado que es una aplicación de Android, ¿debería/debería permitir que inicien sesión con su cuenta de Google mediante AccountManager o algún otro servicio? Sería muy útil si pudieran iniciar sesión en su cuenta de Google y su configuración y otras opciones se guardarían en esa cuenta.

preguntas principales resumirse:

  1. ¿Es posible dejar que un usuario sólo tiene que utilizar su cuenta de Google en mi aplicación?
    • Si es así, ¿uso AccountManager para que inicien sesión y guarden la información/configuración de la cuenta?
      • ¿Cuáles son las otras opciones?
+0

Por un tiempo hubo un ~ hack que le permitió solicitar la autenticación a una aplicación de Google App Engine, y al usar esa aplicación como su backend podría obtener un identificador autenticado y/o dirección de correo electrónico. No estoy seguro de si eso todavía funciona, escuché que estaba siendo eliminado. – nmr

Respuesta

15

Sí, se puede conseguir que los usuarios iniciar sesión en sus servicios Google utilizando sus credenciales de Google, por ejemplo, tengo una aplicación en Google Tasks y uso del administrador de cuentas de Android para permitir que los usuarios se autentican utilizando su cuenta de Google en el dispositivo androide (No hay necesidad de que los usuarios introducir su contraseña!)

Hay algunos muy buenos ejemplos para empezar:

The user has to confirm whether you can use his/her credentials to log into the google service

Las otras opciones que tiene es que los usuarios ingresen manualmente su nombre de usuario/contraseña. Para eso, debe usar una API de autenticación de terceros (como signpost para OAuth) para que inicien sesión.

En mi aplicación tareas/todo, les proporciono a los usuarios ambas opciones para iniciar sesión usando sus credenciales de Android o usando un tercero autenticación para los usuarios que desean conectarse utilizando alguna otra cuenta (una cuenta que no está habilitado en ese dispositivo)

, hágamelo saber si usted tiene más preguntas

+0

¿Entonces aparecerá esa pantalla cuando ejecuten la aplicación por primera vez? (Diría el nombre de mi aplicación en lugar de TasksSample obviamente) y luego se mantendrían conectados a la aplicación o ¿cómo funciona? – Cole

+0

Sí, eso aparecería cuando solicitaras acceso para usar las credenciales de los usuarios en android. Una vez que tenga acceso, puede generar un token de autorización temporal basado en las credenciales de los usuarios (que no puede ver directamente). Este token temporal se puede usar para acceder a la API de Google (u otra API como FB/Twitter según sea el caso) en nombre del usuario. Una vez que el token caduque, puede actualizarlo programáticamente para recuperar el acceso al servicio sin tener que mostrarle al usuario dicha pantalla. – Soham

+0

¿hay algún tutorial disponible para obtener dichos tokens para gmail y facebook, con el fin de poder obtener datos de ellos? –

0

@Soham te dio algunos enlaces muy útiles, pero él no Corrija un error importante:
AccountManager es la entidad que administra las cuentas en su dispositivo Android; no tiene nada que ver con su cuenta de Google. t! puede usar la cuenta de google y crear una NUEVA cuenta en su dispositivo usando AccountManager.

El resto puede aprender de los enlaces que Soham le brindó.

1

Aunque se trata de un nuevo desarrollo, también se puede utilizar el inicio de sesión de Google Plus como parte de los servicios de Google Play. Más información se puede encontrar en Android developers blog. Ver ejemplo de implementación de la aplicación Banjo

enter image description here

Parece que hay una gran limitación - El usuario necesita tener Google+ aplicación instalada en el dispositivo para usar este.

enter image description here

También este es un muy buen blog si alguien está interesado en la implementación de la solución.

Cuestiones relacionadas