OAuth1.0中的access_token过期时间通常很长,安全性差。于是OAuth2.0推出了refresh_token。

OAuth2.0中,客户端用账户名,密码经过一定方式(比如先请求code),获得ACCESS_TOKEN,expire_in与refresh_token。 
然后在expire_in到期的时候,通过refresh_token获得新的access_token,expire_in,与refresh_token。 
refresh_token也有过期时间,当refresh_token过期的时候,则需要用户重新授权登录。 
注意: 
refresh_token只有在用户长期没有请求的情况下才会过期,因为每次请求token都会获得新的值。

那么这里有个风险:基本上,黑客一旦获得用户的access_token与refresh_token,而且用户之后的一段时间都没有更新,或者不再用这个app了,那么黑客就可以一直以用户的身份进行一些访问。 
当然,如果用户在别的地方再次通过用户名密码登录的话,则原来的access_token与refresh_token自然失效。

进而想到,为了防止一次泄露,造成一段时间内的账户不安全,app客户端应该在后台自动定时用refresh_token请求新的token值。这样,token及时变更,旧token有效时间减少,安全性也可得到一定的提高。

摘自:

http://blog.csdn.net/dskwe/article/details/50493616

参考文章:
http://blog.csdn.net/wenlei_zhouwl/article/details/7256082
http://www.cnblogs.com/dudu/p/oauth-refresh-token.html

最新文章

  1. HashTable, HashMap, LinkedHashMap, ConcurrentHashMap
  2. Oracle创建,删除用户与表空间
  3. web app 自适应 弹性布局之rem
  4. Unity Shader播放序列帧动画
  5. JAVA中获取项目文件路径
  6. Codeforces Gym 100286F Problem F. Fibonacci System 数位DP
  7. 配置linux平台下基于vim的开发环境
  8. C#后台跳转
  9. 什么是Web Worker?
  10. MAC下安装如何安装mysql?
  11. 如何给php数组添加元素
  12. Longest Ordered Subsequence POJ - 2533 最长上升子序列dp
  13. js设计模式(三)---代理模式
  14. 接口自动化 基于python+Testlink+Jenkins实现的接口自动化测试框架[V2.0改进版]
  15. 【USACO 1.4】Combination Lock
  16. IOS沙盒机制
  17. WebGL编程指南案例解析之绘制三个点
  18. ceph 运维常用指令
  19. 如何将js字符串变成首字母大写其余小写
  20. Mac 學習系列之Python Challenge 11-20

热门文章

  1. Python中的MySQL接口:PyMySQL & MySQLdb
  2. python webdriver 测试框架-数据驱动exce驱动,不用ddt的方式
  3. HttpClient-RestTemplate-Feign
  4. CentOS7.2 安装Redis3.2.8
  5. 【spring-boot】 springboot整合quartz实现定时任务
  6. BZOJ 4012 【HNOI2015】 开店
  7. 使用 switch 对值进行分支
  8. Linux删除(清空)正在运行的应用日志文件内容 及 查看服务器剩余空间
  9. PHP处理Ajax请求与Ajax跨域
  10. Ubuntu上识别不到安卓设备或者显示出“????”,提示No Permission