保护Grails REST服务以用于移动应用程序

Nic*_*men 7 security rest grails restful-authentication

我正忙着研究如何在移动应用程序中使用REST服务,并希望获得一些见解.方案如下.

考虑一个向用户提供服务的Web应用程序.Web应用程序也将成为用户的主要交互点.这将在Grails中完成,并使用Spring Security进行保护.

现在,我们希望提供REST服务,以便用户可以通过移动应用程序使用该服务.由于Grails对现有的Web应用程序RESTful提供了很好的支持,我们将使用内置的Grails支持.

我现在的问题是,什么是保护REST服务接口的"最佳"方式,以便可以从移动应用程序(本机iOS,Andriod,WM7,BB)使用它.

交换的信息非常敏感,因此越安全越好.

谢谢

jjc*_*hiw 5

我们决定将我们的grails项目分成三个......

  • model-domain-project(这是"admin"部分,包含所有视图/控制器搭建,以及所有服务,域)
  • web-app(这是主要的应用程序,控制器,视图)
  • api-rest-app(这是其余的控制器)

model-domain-project是一个插件,它插在web-app和api-app中,包含域模型,服务以及所有数据库安全性,事务等.

web-app是所有html模板,视图和控制器,这里我们使用Spring Security的属性

api-rest-app我们正在使用grails-filters,我们通过https使用带有过期日期的令牌的Basic-Authorization ...

如果到达令牌的到期日期,您将不得不要求另一个带有"请求令牌"的令牌,我们向您发送了第一个令牌......(它或多或少像oauth2)

要获得两个第一个令牌,您必须通过用户/电话/密码登录确认设备,然后通过短信接收密钥,您必须在应用程序中输入

不知道这是不是最好的方式,但这就是我们这样做的方式......

有时我们使用网络应用程序作为客户端并调用api-rest-app ...