内容简介:用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。微信提供了两种授权方式来应对不同的使用场景。通过网页授权作用域引导用户跳传至该链接
用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
配置
-
在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是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"
}
复制代码
以上所述就是小编给大家介绍的《微信网页授权》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
大型网站技术架构
李智慧 / 电子工业出版社 / 2013-9-1 / 59.00元
《大型网站技术架构:核心原理与案例分析》通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。 《大型网站技术架构:核心原理与案例分析》不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经......一起来看看 《大型网站技术架构》 这本书的介绍吧!