La autenticación de Android en las cuentas de Google se transmite a Google App Engine
Antes de cavar en los detalles de la aplicación de este diseño en particular, quería un consejo / validación de si me estaba acercando correctamente. Tengo conocimientos de principiantes de Android, principiante avanzado en Python, GAE y OpenId.
Ambiente
- Aplicación de Android
- Servicios Web incorporados en Python en Google App Engine
- Usuario (s) con cuenta de Google
Guión
Quiero activar las capacidades de inicio de sesión en mi aplicación de Android sin escribir mi propio sistema de autenticación en GAE. Dentro de la aplicación, el usuario debe ser capaz de jugar como invitado sin la capacidad de guardar altas puntuaciones. Si un usuario quisiera tener sus mejores puntuaciones guardadas, se autenticaría en su cuenta de Google en el dispositivo Android. Al final del juego, la alta puntuación de los usuarios autenticados se guardaría (asociada a su cuenta de Google) a través de los servicios web del juego en Google App Engine. El usuario también debe poder salir y entregar el dispositivo a un amigo que también podría iniciar sesión, jugar a un juego y guardar sus puntuaciones altas asociadas con su cuenta de Google.
- ¿Cómo utilizar la cuenta de google en tu propia aplicación de Android?
- La autenticación de Firebase de Android no funciona
- Qué es "serviceAccountKey.json" que se refiere en el tutorial de notificaciones de dispositivo a dispositivo de Firebase
- Appengine proyecto android conectado
- Google App Engine Java y Android Introducción
Diseño
- En la aplicación de Android, utilice OpenId para la autenticación siempre que el usuario desee iniciar sesión (utilizando algo similar a lo que Nick ha publicado aquí .
- Coge el token OpenId de la cookie que se devuelve y asociarlo con el usuario actual.
- Realice una llamada de servicio web a los servicios GAE agregando el token como cookie e incluyendo la puntuación más alta
- El servicio web autenticará que el token es válido
- El servicio web determinaría el ID único de cuentas de Google asociado al token (no sé cómo hacerlo, pero suponiendo que debería haber un medio para hacerlo) y buscar ese identificador único en una tabla de referencias cruzadas para encontrar los usuarios en -game id (que se creó anteriormente durante la configuración de la cuenta)
- Guardar la puntuación más alta asociada con el ID del juego.
- Permitir el cierre de sesión para que otro usuario pueda iniciar sesión en el juego con su cuenta de Google y repetir el proceso anterior.
Gracias por tu ayuda
- Cómo enviar datos de imagen al servidor desde Android
- Gradlew appengineEndpointsInstallClientLibs tiene error La ejecución falló para la tarea ': compileJava'. > Versión de origen no válida: 1.7
- Google Cloud Endpoints Cliente Android: error de autenticación
- GAE no reconoce la cookie?
- Google App Engine y Android
- La anotación sólo está disponible para java 1.5 y superior cuando se genera Google App Engine Backend (JDK 1.8, nuevo ADT instalado)
- Google App Engine - Demasiadas operaciones de lectura de almacenes de datos
- Google OAuth2 - token de acceso y token de actualización -> invalid_grant / Code ya se redimió
Es posible que el 2011 Android + App Engine IO sea útil.
Me gustaría ver en OpenID de Google en lugar de OAuth. OpenID es el protocolo para un inicio de sesión federado. Consulta la información de Google sobre OpenID .
- Java – buscar host por dirección MAC
- ¿Cómo rastrear la posición de un dispositivo Android en un edificio?