有个问题要记录一下,就是微信授权登录之后重复回调的问题。
微信授权的流程是这样:
1.用户在微信里打开链接A,微信就会携带code和state访问A中的重定向链接B。
(用户的微信客户端-->微信)
链接A如下:https://open.weixin.qq.com/connect/oauth2/authorize?
appid=APPID
&redirect_uri=REDIRECT_URI
&response_type=code
&scope=snsapi_userinfo
&state=STATE#wechat_redirect*
REDIRECT_URI就是链接B
2.微信重定向访问到你的回调网址
(微信-->网站)REDIRECT_URI?code=CODE&state=STATE
CODE和STATE都是微信服务器生成的参数。用户点击同意授权、继续访问,微信服务器就会访问你这个URI(链接B)了。
3. 网站收到请求,就拿到CODE了,于是用CODE去拿ACCESS_TOKEN
(网站服务器-->微信)https://api.weixin.qq.com/sns/oauth2/access_token?
appid=APPID
&secret=SECRET
&code=CODE
&grant_type=authorization_code
接收到一个access_token和openid
4. 网站拿到access_token和openid就可以向微信请求