我正忙着研究如何在移动应用程序中使用REST服务,并希望获得一些见解。方案如下。
考虑向用户提供服务的Web应用程序。 Web应用程序也将成为用户的主要交互点。这将在Grails中完成,并使用Spring Security进行保护。
现在,我们希望提供REST服务,以便用户可以通过移动应用程序使用该服务。由于Grails对现有的Web应用程序RESTful提供了很好的支持,我们将使用内置的Grails支持。
我现在的问题是,保护REST服务接口的“最佳”方式是什么,以便可以从移动应用程序(原生iOS,Andriod,WM7,BB)使用。
交换的信息非常敏感,因此越安全越好。
由于
答案 0 :(得分:5)
我们决定将我们的grails项目分成三个......
模型域项目是一个插件,它插入了web-app和api-app,包含域模型,服务以及所有数据库安全性,事务等。
web-app是所有html模板,视图和控制器,这里我们使用Spring Security的属性
api-rest-app我们正在使用grails-filters,我们通过https使用带有过期日期的令牌进行基本授权...
如果达到令牌的到期日期,您将不得不要求另一个带有“请求令牌”的令牌,我们向您发送了第一个令牌......(它或多或少像oauth2)
要获得两个第一个令牌,您必须通过使用用户/电话/密码登录确认设备,然后通过短信接收密钥,您必须在应用程序中输入
不知道这是否是最佳方式,但这是我们这样做的方式......
有时我们使用网络应用作为客户端并调用api-rest-app ...