2011-10-31 6 views
7

Estoy ocupado investigando el uso de servicios REST con aplicaciones móviles y agradecería alguna información. El escenario es el siguiente.Asegurar el servicio REST Grails para su uso con aplicaciones móviles

Considere la posibilidad de una aplicación web que proporciona un servicio a los usuarios. La aplicación web también será el principal punto de interacción para los usuarios. Esto se hará en Grails y se asegurará con Spring Security.

Ahora, queremos proporcionar un servicio REST para que los usuarios puedan usar el servicio a través de aplicaciones móviles. Dado que Grails tiene un soporte tan bueno para hacer RESTful la aplicación web existente, utilizaremos el soporte integrado de Grails para eso.

Mi pregunta ahora es, ¿cuál sería la "mejor" manera de asegurar la interfaz del servicio REST para que pueda ser utilizada desde aplicaciones móviles (iOS nativo, Andriod, WM7, BB).

La información intercambiada es muy sensible, por lo tanto, cuanto más segura, mejor.

Gracias

Respuesta

5

decidimos dividir nuestro proyecto griales en tres ...

  • modelo de dominio de proyecto (Esta es la sección "admin" con todos los puntos de vista/controlador de andamiaje, y todos los servicios, dominio)
  • web-app (esta es la aplicación principal, controladores, visitas)
  • api-resto la aplicación (esto es los controladores de descanso)

El modelo de dominio de proyecto es un plugin que está enchufado en el web-app y la API de la aplicación, contiene el modelo de dominio, servicios y toda la seguridad de base de datos, transacciones, etc.

La aplicación Web es todas las plantillas html, vistas y controladores, aquí estamos utilizando los atributos de Spring Security

Api-rest-app estamos utilizando grails-filters y estamos utilizando Basic-Authorization a través de https con un token con un vencimiento fecha ...

si se llega a la fecha de vencimiento del token tendrá que pedir otro token con un "token de solicitud" que le enviamos con el primer token ... (es más o menos l ike OAuth2)

Para obtener las dos primeras fichas, tendrá que confirmar el dispositivo a través de un inicio de sesión con el usuario/teléfono/contraseña a continuación, recibirá una clave a través de sms que tendrá que introducir en la aplicación

no sé si esto de la mejor manera, pero es la forma en que lo hacemos ...

A veces estamos utilizando la aplicación web como cliente y llamar a la API-resto-aplicación ...

+0

enfoque interesante, estábamos pensando en hacer más o menos lo mismo. ¿Podría compartir un ejemplo para la implementación del filtro? – lucke84

+0

¡Hola !, ya no trabajo en ese proyecto y no tengo el src. http://awalkingcity.com/blog/2008/03/07/basic-authentication-and-grails/ aquí es algo muy simple. Espero que ayude – jjchiw

+0

Voy a echarle un vistazo, ¡salud! – lucke84

Cuestiones relacionadas