access_token与refresh_token之为什么要用refresh_token刷新不重新获取access_token?

版权声明:本文为Niz原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39403734/article/details/79141429

作为一个小白,在做微信第三方登录的时候遇到的一些问题总结了一下:

问题:access_token与refresh_token之为什么要用refresh_token刷新不重新获取access_token?

 

网上挺多回答的,但是我都觉得不是很满意,所以我就自己总结了一下;

 

原因是access_token只保存2个小时,而refresh_token保存30天;

当access_token在登录2个小时后过期了,难道就要用户在重新登录吗?

当然不可能,这个时候refresh_token就有用武之地了;

 

那又有同学问了,那我直接重新访问

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

不就能获取access_token了吗?为什么要用refresh_token刷新?

 

那么重点就来了,上面的访问路径需要参数code,而code是一次性的参数,就是用一次之后就没用了的,需要重新获取,而重新获取就需要用户再一次扫码或者账号登录才能获取code,所以到这里应该就能明白为什么要用refresh_token刷新而不是重新用code来获取access_token了;

 

说道这有些不细心的同学就要问了,怎么用refresh_token进行刷新,其实官网上是有的,但是我还是在这里简单的讲述一下吧;

 

请求一下链接进行refresh_token刷新:

https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN

 

必要的参数说明:

appid:唯一的标识

grant_type:填refresh_token(就这几个英文字母,就是这个类型)

refresh_token:填写code获取access_token时获取到的refresh_token;

 

有不理解的可以在评论与我讨论;

有说错的请前辈在评论里指教;


猜你喜欢

转载自blog.csdn.net/qq_39403734/article/details/79141429