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.

Diseño

  1. 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í .
  2. Coge el token OpenId de la cookie que se devuelve y asociarlo con el usuario actual.
  3. Realice una llamada de servicio web a los servicios GAE agregando el token como cookie e incluyendo la puntuación más alta
  4. El servicio web autenticará que el token es válido
  5. 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)
  6. Guardar la puntuación más alta asociada con el ID del juego.
  7. 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

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 .

  • Protección de los extremos de la API de Google App Engine
  • Bloqueo de inicio de Eclipse, "SDK de Android: resolución de marcadores de error"
  • No se puede importar la clase de biblioteca de cliente de nodos de nube de google en el proyecto de Android
  • Convertir una cadena en número de coma flotante en java
  • Iniciador de backend móvil ausente de la consola de nube
  • EOFException durante el uso de puntos finales de google
  • Variedad de errores en la aplicación Mobile Backend Starter Sample
  • Sube fotos de la aplicación de Android a Google Cloud Storage / App Engine - carácter ilegal '_'
  • Cómo desarrollar el backend de Google App Engine con Android Studio
  • Generar la biblioteca de cliente de punto final de nube de repente dejó de funcionar
  • Protección de los puntos finales de Google App Engine
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.