快速学习nodejs系列:微信公众号开发之五微信网页授权
这篇文章比较有意思,因为这篇文章是写于高铁上,正值休假,旅途漫漫,写篇文章消磨车上时间。
这节我们说说微信的网页授权,首先我们先来说说网页授权的作用,我们一般会自己开发web应用中加入授权,用来获取用户的openid(或unionid),来实现用户体系。比如:我们常做的基于微信的用户体系,利用openid做唯一的身份识别。官方文档:
看看一般的效果(手动授权):
微信网页授权包括2种形式:
1.静默授权。只能获取到openid;用户不用手动点击确定,直接跳到回调页面。code=snsapi_base
2.手动授权。可以获取所有的用户信息;会出现上图的页面,用户需手动确定后,才会跳到回调页面。code=snsapi_userinfo
授权也要access_token
网页授权access_token与我们前面说的接口access_token不是同一个东西,网页授权的access_token是通过OAuth2.0机制实现的,在用户授权给公众号后,可以获取到一个网页授权特有的接口调用凭证,简单地来说,这个access_token是要用户确定才能获取。
注意:使用网页授权之前,一定先先到微信后台设置网页授权的安全域名,不然授权会失败。也就是说,授权的回调地址的域名一定要与设置的域名一样。
网页授权的流程:
1.引导用户进入授权页面同意授权,获取code
2.根据获取的code换取网页授权的access_token。如果是静默授权的话,到这里就可以结束了,因为获取access_token的同时,也可以获取到openid。
3.(这一步是手动授权才有的)获取用户完整的信息(根据上一步获取的access_token和openid)
下面我们跑一遍网页授权:
1.引导用户访问授权链接:
https://open.weixin.qq.com/co...
注意:appid、redirect_uri要换成自己正式的
2.获取网页授权的access_token
3.获取完整的用户信息
代码:
结果:
访问授权页面:http://d3bdhm.natappfree.cc/o...
好了,顺利获取到用户信息,微信网页授权就讲完了,也要快到站了。下一节讲js-sdk相关的东西,主要是js-sdk使用流程、以及说下具体的接口的使用。