微信公众号开发(六)网页授权获取用户信息

微信的网页授权是基于OAuth2.0协议的,OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如头像,个人信息等),而无需将用户名和密码提供给第三方应用;而OAuth2.0则是OAuth协议的升级版,但并不兼容老版本。

实际上,现在很多企业都使用到OAuth2.0,比如支付宝,微信,QQ授权登录等等。

授权流程:

微信开发文档中引导我们操作的流程是:

更详细的流程如下,主要是利用一个code授权码来进行授权:

特别注意:
1.本文中用到的Access_Token是专属于网页授权而使用的Access_Token凭据,与之前其他接口用的Access_Token凭据是不同的,所以我们要通过另外一个接口来获取网页授权使用的Access_Token。

2.网页授权分两种scope授权作用域
(1)scope为snsapi_base的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的,也就是说用户完全感觉不到你在获取他的信息,但只能获取openid。
(2)scope为snsapi_userinfo的网页授权,是用来获取用户的基本信息的(包括openid,头像,暱称,城市,性别等),这种授权需要用户手动同意,无须关注公众号,就可在用户同意后获取该用户的基本信息。

实现步骤

注意:服务号或者测试号才有网页授权的功能权限

一:安装微信web开发者工具,待会用于调试页面

下载地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1455784140

二:配置授权域名,设置该域名拥有网页授权的权限(如果不设置,就没有权限使用网页授权)。

在接口权限列表找到网页授权,点修改按钮:

把域名填入到输入框中:

确认保存即可。

三:准备好一个页面,用于显示用户的详细信息
我的页面访问地址为http://ansheng.nat300.top/getUserInfo.do,是通过controller请求转发到个人信息页面。

发布了87 篇原创文章 · 获赞 40 · 访问量 21万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章