java - 微信登录oauth2.0授权相关问题

 ll等待花开的大婶_oO_107 发布于 2022-10-31 14:56

微信登录,用户授权给第三方,第三方在获得授权码之前微信怎么判断是哪个用户授的权,还有请求accessToken时,只带了code,势必生成code的时候会有和用户相关的绑定信息,要不怎么去验code,只有code正确,才会生成相应的token,求大神指教,感觉理解还不到位

4 个回答
  • 谢谢以上的回答,我看了一点 源码,是的确实有绑定关系,生成授权码时,微信认证服务器会判断是否登录,如果登录后,会生成这个用户相关的token(usernamepasswordtoken,这个token跟换的token没有关系,只是用来标识用户的),然后生成code,保存code、client_id、username三者的关系,然后返回code,当客户端去请求token时,会根据client_id、code验code的正确性,正确的话,微信认证服务器会获得当前用户,然后根据client_id、username、scop(如果scope不为空的话)生成authenicateId,再生成accessToken,保存authenicateId和accessToken的关系,最后removeCode,返回accessToken

    2022-10-31 22:55 回答
  • 微信授权需要你扫二维码,你扫码的时候微信会发送信息给服务器,这样服务器就知道是谁授的权了。
    返回的code是服务器生成的唯一值,和用户信息一起保存在服务器上呢,微信当然可以分辨

    2022-10-31 22:55 回答
  • code可以理解是用户的授权,token可以理解为是第三方给调用方该用户授权。

    2022-10-31 22:56 回答
  • code是临时数据,由于是通过链接跳转传递给你的,所以这个参数不能是用户身份相关的数据,所以给你一个临时数据,然后你再用这个临时数据去换取代表用户身份的token。

    2022-10-31 22:56 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有