por - OpenID para aplicaciones de Android que requieren inicio de sesión
twitter aplicaciones autorizadas (3)
Soy un desarrollador nuevo en la plataforma Android de Google: mi HTC Desire llegó la semana pasada.
Ahora necesito una forma de iniciar sesión en mi aplicación existente (Java, que actualmente se ejecuta en Jetty). La aplicación del servidor está desarrollada usando Spring Security 3.0.2.
En mi caso, quiero admitir lo siguiente: si un usuario configuró su teléfono Android con una cuenta de googlemail / google (y la mayoría de los usuarios lo hacen), quiero usar las credenciales de esta cuenta para iniciar sesión automáticamente en mi aplicación de servidor.
¿Hay algún marco de Android que soporte ese caso de uso? ¿O hay alguna alternativa?
Leí: http code.google.com intl / de-DE / apis / accounts / docs / OpenID.html
La manera en que iniciamos sesión con una aplicación en google AppEngine se describe aquí: http://blog.notdot.net/2010/05/Authenticating-against-App-Engine-from-an-Android-app
Aquí hay una API de Java de OPENID: Aquí está el enlace: http://code.google.com/p/openid4java/
Creo que lo que quieres es usar AccountManager
Para averiguar de qué tipo es la cuenta de Google, use algo como:
AuthenticatorDescription[] types = mAccountManager.getAuthenticatorTypes(); //
for (AuthenticatorDescription type : types) {
Log.d("account types", type.type);
}
Entonces haz algo como
AccountManager mAccountManager = AccountManager.get(context);
Account[] mAccounts = AccountManager.get(context).getAccountsByType("com.google");
// Choose which account to use if there are multiple google accounts registered, save to Account mAccount
AccountManagerFuture<options> response = mAccountManager.getAuthToken(mAccount, type, options, activity, mCallback, mHandler); // define callback and handler yourself for where to return
Cuando el usuario llega a mCallback en su mHandler, el proceso de inicio de sesión se realiza. Se utilizará el diálogo de inicio de sesión de Google habitual si el usuario aún no ha iniciado sesión en su cuenta de Google.
¡Pruébalo tú mismo y hazme saber si te ayudó!
No estoy seguro de entender dónde quiere que el usuario inicie sesión.
Tenga en cuenta que no puede asumir qué navegador web se utilizará (navegador predeterminado, opera mobile, navegador del fabricante, etc.) Si solo ofrece un sitio web, es responsabilidad del navegador web conocer al usuario. La mayoría de las personas que ya han iniciado sesión en su cuenta de Google. Android es una especie de no relacionado aquí.
Si desea que su aplicación de Android se conecte a un servicio web sin solicitar un nombre de usuario / contraseña, no puede lograr esto con openID. Sugiero una verdad para este caso de uso.