84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
微信登录,用户授权给第三方,第三方在获得授权码之前微信怎么判断是哪个用户授的权,还有请求accessToken时,只带了code,势必生成code的时候会有和用户相关的绑定信息,要不怎么去验code,只有code正确,才会生成相应的token,求大神指教,感觉理解还不到位
认证高级PHP讲师
code是临时数据,由于是通过链接跳转传递给你的,所以这个参数不能是用户身份相关的数据,所以给你一个临时数据,然后你再用这个临时数据去换取代表用户身份的token。
code可以理解是用户的授权,token可以理解为是第三方给调用方该用户授权。
微信授权需要你扫二维码,你扫码的时候微信会发送信息给服务器,这样服务器就知道是谁授的权了。返回的code是服务器生成的唯一值,和用户信息一起保存在服务器上呢,微信当然可以分辨
谢谢以上的回答,我看了一点 源码,是的确实有绑定关系,生成授权码时,微信认证服务器会判断是否登录,如果登录后,会生成这个用户相关的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
code是临时数据,由于是通过链接跳转传递给你的,所以这个参数不能是用户身份相关的数据,所以给你一个临时数据,然后你再用这个临时数据去换取代表用户身份的token。
code可以理解是用户的授权,token可以理解为是第三方给调用方该用户授权。
微信授权需要你扫二维码,你扫码的时候微信会发送信息给服务器,这样服务器就知道是谁授的权了。
返回的code是服务器生成的唯一值,和用户信息一起保存在服务器上呢,微信当然可以分辨
谢谢以上的回答,我看了一点 源码,是的确实有绑定关系,生成授权码时,微信认证服务器会判断是否登录,如果登录后,会生成这个用户相关的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