(文章转载于https://blog.csdn.net/qq_39403734/article/details/79141429)
微信授权登录的时候有关accesstoken和fresh_token的问题:
问题:access_token与refresh_token之为什么要用refresh_token刷新不重新获取access_token?
网上挺多回答的,但是我都觉得不是很满意,所以我就自己总结了一下;
原因是access_token只保存2个小时,而refresh_token保存30天;
当access_token在登录2个小时后过期了,难道就要用户在重新登录吗?
当然不可能,这个时候refresh_token就有用武之地了;
那又有同学问了,那我直接重新访问
不就能获取access_token了吗?为什么要用refresh_token刷新?
那么重点就来了,上面的访问路径需要参数code,而code是一次性的参数,就是用一次之后就没用了的,需要重新获取,而重新获取就需要用户再一次扫码或者账号登录才能获取code,所以到这里应该就能明白为什么要用refresh_token刷新而不是重新用code来获取access_token了;
说道这有些不细心的同学就要问了,怎么用refresh_token进行刷新,其实官网上是有的,但是我还是在这里简单的讲述一下吧;
请求一下链接进行refresh_token刷新:
必要的参数说明:
appid:唯一的标识
grant_type:填refresh_token(就这几个英文字母,就是这个类型)
refresh_token:填写code获取access_token时获取到的refresh_token;