微信网页授权登录refresh_token 刷新问题

friends571 2019-03-26 11:05:39
微信网页授权登录时,用户通过微信进入网站后发起登录,获取CODE,然后进入回调地址,根据CODE码去获取 access_token,openid,refresh_token等,再根据openid,access_token去获取用户基本信息,然后将用户基本信息存入数据库,并session缓存相应字段,这是微信登录的基本流程,
但微信文档里说,access_token只有两个小时的有效期,可以通过refresh_token来刷新access_token,这个刷新后有效期为30天,但我刷新完了之后再去获取access_token还是新的值,每次都不一样,这个是不是没必要刷新呢

看到有些文章里说把access_token保存到数据库里,到时个取这个值,判断这个access_token是否过期,过期了就重新再获取,
现在是可以把第一次获取的access_token和openid绑定在一起,但当用户下次访问这个网站时(session会话已经失效的情况下),你是根据什么来判断这个用户的openid呢,判断不了用户openid又怎么用之前保存在数据库中的access_token呢?如果这时重新授权的话,会先获取CODE,再根据CODE去获取openid和access_token,所以说这个access_token保存的没有意义了

注:这里的access_token是微信授权时的,不是全局的,也不是微信分享的
...全文
2524 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
free_down_bar 2020-08-29
  • 打赏
  • 举报
回复
code 只能使用一次
那一刻哎哎 2019-07-11
  • 打赏
  • 举报
回复
感谢楼主回答 问题之前已解决 是搞app开发的 已经 用过一次code 了,他再把code传到后台给我,就出现这也的问题
Lin_lx 2019-07-11
  • 打赏
  • 举报
回复
引用 2 楼 那一刻哎哎 的回复:
请问下 楼主 我用code去获取 access_token...等 的时候直接说我 code用过了 这是为啥啊
code不能重复使用,你看看是不是没刷新
blankstar 2019-06-18
  • 打赏
  • 举报
回复
我也在思考这个问题.那如果是网页授权还有没有必要去存这个refresh_token! 反正都要从获取code开始!你有没有新的想法交流一下
那一刻哎哎 2019-06-14
  • 打赏
  • 举报
回复
请问下 楼主 我用code去获取 access_token...等 的时候直接说我 code用过了 这是为啥啊
m0_57638911 2021-12-02
  • 举报
回复
@那一刻哎哎 code失效只有两种原因,1就是使用过一次后失效了,另外一种就是他会在10min后超时
  • 打赏
  • 举报
回复
可以把授权后的用户信息存入 session,用户授权的话不用存access_token

3,156

社区成员

发帖
与我相关
我的任务
社区描述
微信开发即微信公众平台开发,将企业信息、服务、活动等内容通过微信网页的方式进行表现,通过二次开发可以将公众账号由一个媒体型营销工具转化成提供服务的产品。
社区管理员
  • 微信开发
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧