给REST接口做鉴权认证:OAuth

现在做的App和网站共用REST接口,用的是基于Cookie的认证,按照一般约定采用了30分钟的超时设置,浏览器超时后自动跳转到CAS认证,这个对网页端来说很正常,但是对于App, 并不是银行那样的安全性极高的App,30分钟过后再回来,发现又得重新登录一遍,太无法接受了……

为了解决这个问题,App采用了一个不得已的做法,定时ping后台接口……如果定时任务被杀,访问后台接口提示超时的话,再用本地存储的加密用户名和密码做一遍登录,实现表面上用户不用重新登录。

本地存储用户名和密码肯定是不合适的。

App做微信、QQ登录时了解了OAuth2认证,认识到AccessToken可以设置较长时间的有效期,可以存储在本地,过期后刷新Token就好。当时用的是基于友盟的SDK,没有深入了解OAuth2,以为它就是用于向第三方授权时使用。最近打算自己搭一套服务,前后台App都自己实现,重新思考了REST接口的认证问题。

参考了
如何设计好的RESTful API之安全性这里写链接内容
重新学习了OAuth
http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html

发现原来OAuth2.0还有四种模式可选 :)

  1. 授权码模式(authorization code)
  2. 简化模式(resource owner
  3. 密码模式(password credentials)
  4. 客户端模式(client credentials)

适用于第三方的是授权码和简化模式,而对于自己的应用来用使用密码模式即可。

然后纠结了下那注册的问题OAuth管不管?
有个小伙也有这个疑问

不管。认证自己做个表单就好。
这几天再过一下Spring Security 和 OAuth整合~ 太麻烦的话,试试Node吧

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值