我正在Grails中开发一个后端服务,它应该同时服务于web应用程序和移动应用程序。
前端程序正在使用AngularJS开发,移动应用程序将使用相同的AngularJS代码库与PhoneGap进行本地化。
现在,我正在寻找一种使用Grails后端实现身份验证的适当方法,该后端既适用于web应用程序,也适用于移动应用程序。
三个想法:
1)在LocalStorage中存储用户名和密码,并在每次请求时在后端对用户进行身份验证
2)使用基于cookie的身份验证(在PhoneGap中启用cookie很棘手,我应该从AJAX响应中提取出来并附加到AJAX请求中)
3)开发一个自定义协议,为后端的每个会话生成一个令牌,并将其存储在LocalStorage中。会话令牌将在每个请求中发送到后端。
4)使用私有/公钥机制(类似于Amazon )对每个请求进行签名。即使在这种情况下,后端也必须验证每个请求的签名的正确性(没有会话概念)。
我不太相信LocalStorage,但我没有其他的想法,我也找不到任何例子(其他后端和前端技术的例子也会有帮助)。
您可以假设后端将在HTTPS上运行。
发布于 2013-09-27 17:03:09
我会选择第三个,加上一些补充:
这与你所提供的相似,但降低了中间人和重播攻击的风险。
希望能帮上忙!
https://stackoverflow.com/questions/19035368
复制相似问题