微信授权流程

1、从微信server获取code

拼接一个url如下发送给微信服务器(url拼接的php代码待添加)

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx0701109cb3747053&redirect_uri=http://根目录.ilanou.com/项目名/demo.php&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect

其中appid为公众号的appid,获取方式是在 微信公众平台--->基本配置中获取


微信授权流程_第1张图片

redirect_uri重定向后的回调地址,也就是微信授权完成以后跳转的页面链接。这里说一下'http://根目录.ilanou.com/项目名/demo.php',这样设置redirect-uri的话,授权完成后就可以自动跳转至'http://项目名.ilanou.com/demo.php' , 而相应的回调域名设为 根目录.ilanou.com就可以了。

response_type就设为code,是从微信server拿到的一个字符串,接下来获取access_token会用的到。

scope设置是snsapi_base还是snsapi_userinfo,设置的参数不同,拿到的授权信息不同。snsapi_base获取的信息只有open_id,而snsapi_userinfo获取的信息除了openid外还可以获得头像、昵称、城市、性别等用户信息。

state非必填项

#wechat_redirect必填

2、通过获取的code换取access_token

参考公众平台的方法:

微信授权流程_第2张图片

将获取的code拼接到url中

接下来再参考公众平台的实例,将代码下载下来,选择php代码参考,文件夹中有四个php文件,我们参考jssdk.php,下载地址如下:

通过下面的方法获取access_token以及openid,返回的数据为,是一个对象包含access_token,openid信息,到此静默授权获取openId告一段落。

微信授权流程_第3张图片

3、如果scope为snsspi_useinfo时授权的流程相同,如果要获取用户信息调用如下api

微信授权流程_第4张图片

返回的数据包以及获得的用户信息如下:

微信授权流程_第5张图片
微信授权流程_第6张图片

你可能感兴趣的:(微信授权流程)