Estoy empezando a escribir una aplicación mediante la cual una aplicación móvil (Android/iPhone) se comunicará con el backend GAE (Python) a través de una serie de llamadas Web API utilizando JSON.Manejo de sesiones en Google App Engine con Android/iPhone
No puedo usar las cuentas de Google para la autenticación, así que tengo que implementar mi propia autenticación. Tengo una idea de cómo hacer esto, pero no estoy seguro de si hay una mejor manera.
¿Alguien puede ayudar con algunos ejemplos de código/sugerencias de cómo lograr lo siguiente, por favor?
Método
- aplicación móvil llama a un método de sesión en el servidor que autentica y crea una clave de sesión en la tienda y devuelve esto a la aplicación - no está seguro de cómo generar la clave/sesión o dónde en la solicitud/respuesta debería ser.
- En cada llamada, la aplicación pasa esta clave para que el servidor se autentique y permite la acción si pasa.
- El usuario no debería tener que volver a iniciar sesión en el dispositivo móvil a menos que cierre sesión o pierda la clave explícitamente.
Login Método - sin generación de claves
class Login(webapp.RequestHandler):
def post(self):
args = json.loads(self.request.body)
email = args['e']
pwd = args['p']
ret = {}
user = User.gql('WHERE email = :1', email).get()
if user and helpers.check_password(pwd, user.password):
ret['ret_code'] = 0
ret['dn'] = user.display_name
else:
ret['ret_code'] = 1
self.response.headers['Content-Type'] = 'application/json'
self.response.out.write(json.dumps(ret))
¿Está buscando a OAuth? parece bastante estándar para este tipo de cosas. –