微信公众平台开发历程(三)

微信网页授权


小解释:


微信网页授权首先要做的就是在微信里面配置网络回调域名:开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息
域名的规范可以看下微信开发api。

微信授权的作用就是:在没有点击任何按钮的情况下跳转的页面中能够合法的获取到用户的信息。

微信授权有两种,区别于参数scope的值:
1、scope=snsapi_base,相当于静默授权,意思是直接授权成功会跳到页面,用户看不出来授权。
2、scope=snsapi_userinfo,可以获取更多的用户信息,需要用户手动同意。

小开发:


官方授权流程:
微信公众平台开发历程(三)

我们的非静默授权操作流程:
1、我们要配置一个url,是微信官方给的引导url,引导用户点击或者编程二维码扫描这个url,这样才能进授权页面。
引导url:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

我们先解析一下这个url:
1)参数appid:就是你的微信公众号的appid。
2)参数redirect_uri:这个url是当授权成功以后需要跳转的那个页面,这个url在拼装的时候需要urlencode编码一下。
3)参数scope:非静默授权的话就直接填写snsapi_userinfo。

其他的不动就行了,并且参数的位置不可以变动,按着这个顺序修改修行了。

2、当引导url配置成功了以后我们点击了以后会跳转到你配置的url里面(redirect_uri),在这个页面里面,微信会带上一个参数code跳转,
我们需要用这个code去另一个连接里面获取到一个微信授权需要的access_token,这个access_token和其他接口需要的access_token不一样

获取的接口是:https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
appid和secret直接替换成公众号的,code就是刚刚获取到的那个,正确获取的话微信会给一个json:

微信公众平台开发历程(三)

我们将这里面的access_token和apenId获取出来就是我们需要的了,接下来我们就可以用这个去获取用户信息了,接口是:
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN 
直接将我们获取的两个信息替换就行,正确的返回json报文如下:

微信公众平台开发历程(三)
 如果只是需要openId的话在获取access_token的时候就可以停止操作了。