微信网页授权那些事

来源:互联网 发布:山寨币 冷钱包源码 编辑:程序博客网 时间:2024/06/01 17:56
Jie 2017/9/29

官方技术文档https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842其实已经很清楚了,本文重点说明开发遇到的一些注意事项和tips

微信网页授权分2种:
1) scope=snsapi_base
静默授权,获取用户openid
2) scope=snsapi_userinfo
必须用户同意授权,获取用户基本信息(openid、昵称、头像URL等)

硬性要求:
1) 服务号+微信认证
2) 域名通过ICP备案的验证
3) 服务号的AppID和AppSecret

配置:
1) 微信公众平台 - 公众号设置 - 功能设置 - 【网页授权域名】
下载文件MP_verify_xx.txt并上传至域名根目录下;
注意“授权回调页面域名”只能设置全域名(如www.xx.com,则此域名下的页面均可进行OAuth2.0鉴权,但此时二级域名oo.xx.com却无法进行OAuth2.0鉴权...)
[Tip 1]由于目前只允许设置一个“授权回调页面域名”,考虑到生产和UAT环境的需要,建议UAT环境访问www.xx.com/uat,并配置nginx反向代理将对该域名的请求转发给内网服务器的特定端口,这样UAT代码也可进行OAuth2.0鉴权。

开发:
[Tip 2]获取code请求https://open.weixin.qq.com/connect/oauth2/authorize,注意其参数state(最多128字节)重定向后会随code原样带回,可当作localStorage功能用以避免重定向后关键数据被浏览器清空...
[Tip 3]注意通过code换取的网页授权access_token与JS-SDK(如微信分享功能)中的access_token概念不同!后者建议设Redis过期键缓存。
原创粉丝点击