Implementación de un esquema de autenticación para aplicaciones móviles con Tastypie

Me gustaría crear un servicio REST con autenticación para dispositivos móviles. Esta es la primera vez que voy a hacer algo como esto, así que me gustaría recibir algunos consejos sobre cómo implementar las cosas.

Para esto tendría que crear un formulario de registro que permite al usuario registrarse para los servicios. No veo ningún problema aquí Puedo publicar los datos del formulario en el servidor y dejar que devuelva una respuesta.

Si el formulario es válido, se creará un nuevo objeto de usuario y se iniciará de inmediato. También se generará una API KEY utilizando:

from django.contrib.auth.models import User from django.db import models from tastypie.models import create_api_key models.signals.post_save.connect(create_api_key, sender=User) 

La solicitud, devolverá un estado HTTP 301 y contendrá un URI de redireccionamiento para recuperar la API KEY.

Después de este paso, la aplicación solicitará otro URI (el URI recibido en la respuesta 301 de la solicitud de registro) para acceder a la API KEY (usaré el esquema ApiKeyAuthentication de Tastypie ). La solicitud contendrá la cookie de sesión recibida en la respuesta de petición anterior, de esta manera se verá la vista y podré al usuario el decorador login_required. La respuesta será simple JSON con nombre de usuario y clave api.

Estos valores se almacenarán en algún lugar de la aplicación.

Cualquier solicitud que se haga ahora agregará el nombre de usuario y la clave de la API almacenados en la aplicación para que otras solicitudes sean más seguras.

¿Se parece esto a un buen esquema a seguir? ¿Hay agujeros en el diseño?

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.