快速学习nodejs系列:微信公众号开发之五微信网页授权

这篇文章比较有意思,因为这篇文章是写于高铁上,正值休假,旅途漫漫,写篇文章消磨车上时间。

这节我们说说微信的网页授权,首先我们先来说说网页授权的作用,我们一般会自己开发web应用中加入授权,用来获取用户的openid(或unionid),来实现用户体系。比如:我们常做的基于微信的用户体系,利用openid做唯一的身份识别。官方文档:

看看一般的效果(手动授权):

《快速学习nodejs系列:微信公众号开发之五微信网页授权》

微信网页授权包括2种形式:
1.静默授权。只能获取到openid;用户不用手动点击确定,直接跳到回调页面。code=snsapi_base
2.手动授权。可以获取所有的用户信息;会出现上图的页面,用户需手动确定后,才会跳到回调页面。code=snsapi_userinfo

《快速学习nodejs系列:微信公众号开发之五微信网页授权》

授权也要access_token
网页授权access_token与我们前面说的接口access_token不是同一个东西,网页授权的access_token是通过OAuth2.0机制实现的,在用户授权给公众号后,可以获取到一个网页授权特有的接口调用凭证,简单地来说,这个access_token是要用户确定才能获取。

注意:使用网页授权之前,一定先先到微信后台设置网页授权的安全域名,不然授权会失败。也就是说,授权的回调地址的域名一定要与设置的域名一样。

《快速学习nodejs系列:微信公众号开发之五微信网页授权》

网页授权的流程:
1.引导用户进入授权页面同意授权,获取code
2.根据获取的code换取网页授权的access_token。如果是静默授权的话,到这里就可以结束了,因为获取access_token的同时,也可以获取到openid。
3.(这一步是手动授权才有的)获取用户完整的信息(根据上一步获取的access_token和openid)

下面我们跑一遍网页授权:
1.引导用户访问授权链接:
https://open.weixin.qq.com/co…

《快速学习nodejs系列:微信公众号开发之五微信网页授权》

注意:appid、redirect_uri要换成自己正式的

2.获取网页授权的access_token

《快速学习nodejs系列:微信公众号开发之五微信网页授权》

3.获取完整的用户信息

《快速学习nodejs系列:微信公众号开发之五微信网页授权》

代码:

《快速学习nodejs系列:微信公众号开发之五微信网页授权》

结果:
访问授权页面:http://d3bdhm.natappfree.cc/o…

《快速学习nodejs系列:微信公众号开发之五微信网页授权》

《快速学习nodejs系列:微信公众号开发之五微信网页授权》

《快速学习nodejs系列:微信公众号开发之五微信网页授权》

好了,顺利获取到用户信息,微信网页授权就讲完了,也要快到站了。下一节讲js-sdk相关的东西,主要是js-sdk使用流程、以及说下具体的接口的使用。

    原文作者:陈恒坚
    原文地址: https://segmentfault.com/a/1190000016862978
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞