内容简介:用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。微信提供了两种授权方式来应对不同的使用场景。通过网页授权作用域引导用户跳传至该链接
用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
配置
-
在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头;
-
授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面 www.qq.com/music.html 、 www.qq.com/login.html 都可以进行OAuth2.0鉴权。但pay.qq.com 、music.qq.com 、 qq.com无法进行OAuth2.0鉴权
两种授权方式
微信提供了两种授权方式来应对不同的使用场景。通过网页授权作用域 scope
参数控制。
静默授权
- 静默授权 :用户进入页面后自动授权并跳转回页面,这种授权对用户无感知。通过这种授权我们只能获取到用户的
openid
,无法获得用户的其他信息。 - 使用场景:只需要标识该用户,而不需要收集其他信息的场景都可以使用。比如投票、点赞等场景。
-
scope: snsapi_base
主动授权
- 主动授权 :用户进入页面后会有授权弹窗,需要手动同意。该方试用来获取用户的基本信息
- 注意:**对于已关注公众号的用户,**用户从公众号的会话或者自定义菜单进入本公众号的网页授权页,即使是
scope: snsapi_userinfo
,也是静默授权,用户无感知。 -
scope: snsapi_userinfo
具体流程
- 用户进入页面,获取
code
- 通过
code
换取网页授权access_token
和openid
,静默授权到这步结束 - 通过
access_token
获取用户信息
获取CODE
引导用户跳传至该链接
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE
用户同意授权或静默授权后将跳转至 redirect_url?code=CODE&state=STATE
这个地址并带上生成的 code
。
code
作为换取 access_token
的票据,只能使用一次,5分钟未使用自动过期。
参数说明
通过 code
换取网页授权 access_token
注意,这里的 access_token
和 调用公众平台API所需的基础 access_token
不是一个东东,只是名字一样而已。
这一步是在服务端完成的,需要公众号的 secret
, access_token
也不可以传给客户端。
请求接口
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
返回
{ "access_token":"ACCESS_TOKEN", "expires_in":7200, "refresh_token":"REFRESH_TOKEN", "openid":"OPENID", "scope":"SCOPE" } 复制代码
拉取用户信息(需scope为snsapi_userinfo)
当网页授权作用域为 snsapi_userinfo
时,开发者通过 access_token
和 openid
获取用户信息。
请求接口
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
返回
{ "openid": "OPENID", "nickname": "NICKNAME", "sex": "1", "province": "PROVINCE" "city": "CITY", "country": "COUNTRY", "headimgurl": "http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46", "privilege": [ "PRIVILEGE1" "PRIVILEGE2" ], "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL" } 复制代码
以上所述就是小编给大家介绍的《微信网页授权》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Introduction to Linear Optimization
Dimitris Bertsimas、John N. Tsitsiklis / Athena Scientific / 1997-02-01 / USD 89.00
"The true merit of this book, however, lies in its pedagogical qualities which are so impressive..." "Throughout the book, the authors make serious efforts to give geometric and intuitive explanations......一起来看看 《Introduction to Linear Optimization》 这本书的介绍吧!