ACCESS_TOKEN与FRESH_TOKEN

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

猜你喜欢

转载自www.cnblogs.com/ExMan/p/10409324.html