微信公众号授权

微信授权使用的是OAuth2.0授权的方式。主要有以下简略步骤:
  1.用户同意授权,获取code
  2.通过code换取网页授权access_token
  3.刷新access_token(如果需要)
  4.拉取用户信息(需scope为 snsapi_userinfo);
用户拉取授权的时候会用到以下参数:

appId

为申请到的微信服务号appId,

redirect_uri

开发者提供的空白中转页,也就是微信会给你code之后,再跳转到此第三方页面获取openid;此页面必须要通过encodeURI转码;

response_type=code

微信会通过返回值给的code再去请求用户的openid;

scope

  有2个值,snsapi_base(不弹出授权页面,直接跳转,只能获取用户openid);snsapi_userinfo(弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息);

component_appid

    第三方平台appId,自由参数,非必带参数;

'#wechat_redirect':

   直接在微信打开链接,可以不填此参数。做页面302重定向时候,必须带此参数;

用户请求下面的url链接:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${redirectUri}&response_type=code&scope=snsapi_userinfo&state=123&component_appid=${componentAppid}#wechat_redirect;

当用户点击该链接的时候,微信会弹出授权页面,当用户确认授权后,微信会回调到上面链接的redirect_uri并且将code拼接到此url后面,如下:

http://www.xxxx.com?code=12334566778

在该页面中code是微信返回的一串字符串,且使用一次后即失效
在redirect_uri中需要前端开发者拿到code值并连同appid发给后端请求到openid,就算授权成功了。

你可能感兴趣的:(微信公众号授权)