微信网页授权封装接口——node.js版
Wechat 网页授权
授权url:(请在微信客户端中打开此链接体验)
xxx为config.js中的
WECHAT_DOMAIN
1、scope为snsapi_base
xxx/?route=auth&redirect_uri=http://www.baidu.com/&scope=snsapi_base&state=123
2、scope为snsapi_userinfo
xxx/?route=auth&redirect_uri=http://www.baidu.com/&scope=snsapi_userinfo&state=123
参数说明:
| 参数 | 描述 | 例子 |
|---|---|---|
| redirect_uri | 获取用户信息后回调的url | encodeURIComponent('http://www.baidu.com') |
| scope | snsapi_base / snsapi_userinfo [默认snsapi_base] | snsapi_base 静默授权,返回info=openid / snsapi_userinfo 非静默授权,返回完整用户信息:info={用户信息json格式字符串} |
| state | 回调后会带上state参数,可以填写a-zA-Z0-9 | 123 |
授权方式说明:
1. scope=snsapi_base调用成功后会将openid重定向至回调页面
调用成功后示例:
http://www.baidu.com?info=oJT88wHBcuAwp7fCvJ9VvS1iE4zg&state=123
info为openid
state为初始带来的参数
2. scope=snsapi_userinfo调用成功后会将详细用户信息(包含openid)重定向至回调页面
调用成功后示例:
http://www.baidu.com?info={%22openid%22:%22oJT88wHBcuAwp7fCvJ9VvS1iE4zg%22,%22nickname%22:%22Dhoopu%22,%22sex%22:1,%22province%22:%22%e4%b8%8a%e6%b5%b7%22,%22city%22:%22%e5%98%89%e5%ae%9a%22,%22country%22:%22%e4%b8%ad%e5%9b%bd%22,%22headimgurl%22:%22http://wx.qlogo.cn/mmopen/OM4v0FU2h0vtem9J2adoZcb6xMOp88ia5icQlb90m87DdbAVW20znQjMXA4K06ykGHpEVfEicnGFLKs5e8vBnzqXQ/0%22,%22privilege%22:[],%22unionid%22:null}&state=123
info格式化后的字段如下:
| openid | 用户的唯一标识 |
|---|---|
| nickname | 用户昵称 |
| sex | 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知 |
| province | 用户个人资料填写的省份 |
| city | 普通用户个人资料填写的城市 |
| country | 国家,如中国为CN |
| headimgurl | 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空 |
| privilege | 用户特权信息,json 数组,如微信沃卡用户为(chinaunicom) |
state为初始带来的参数
流程图(基于微信网页授权原本流程)

开发者备注:
1、此接口请先配置/config.php文件
2、微信公众平台里,在开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名。
微信网页授权封装接口——node.js版的更多相关文章
- 微信JS-API封装接口——node.js版
github:https://github.com/xjnotxj/wechat_interaction_jsapi Wechat JS-API接口 功能: 用于管理和获取微信 JSSDK 生产的ac ...
- 玩玩微信公众号Java版之六:微信网页授权
我们经常会访问一些网站,用微信登录的时候需要用到授权,那么微信网页授权是怎么一回事呢,一起来看看吧! 参考官方文档:https://mp.weixin.qq.com/wiki?t=resource ...
- 手把手实现微信网页授权和微信支付,附源代码(VUE and thinkPHP)
wechat github 手把手实现微信网页授权和微信支付,附源代码(VUE and thinkPHP) 概述 公众号开发是痛苦的,痛苦在好多问题开发者文档是没有提到的,是需要你猜的. 在开发过程中 ...
- 微信网页授权demo2
1.在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息”的配置选项中,修改授权回调域名.请注意,这里填写的是 ...
- 微信网页授权,获取微信code,获取access_tocken,获取用户信息
微信开发中,经常有这样的需求:获得用户头像.绑定微信号给用户发信息.. 那么实现这些的前提就是授权! 1.配置安全回调域名: 在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 ...
- Spring Security中实现微信网页授权
微信公众号提供了微信支付.微信优惠券.微信H5红包.微信红包封面等等促销工具来帮助我们的应用拉新保活.但是这些福利要想正确地发放到用户的手里就必须拿到用户特定的(微信应用)微信标识openid甚至是用 ...
- VueJs单页应用实现微信网页授权及微信分享功能
在实际开发中,无论是做PC端.WebApp端还是微信公众号等类型的项目的时候,或多或少都会涉及到微信相关的开发,最近公司项目要求实现微信网页授权,并获取微信用户基本信息的功能及微信分享的功能,现在总算 ...
- 服务号使用微信网页授权(H5应用等)
获取授权准备 AppId 服务号已经认证且获取到响应接口权限 设置网页授权域名 公众号设置 - 功能设置 - 网页授权域名.注意事项: 回调页面域名或路径需使用字母.数字及"-"的 ...
- 微信网页授权,错误40163,ios正确,安卓错误?
2017-07-29:结贴昨天研究了半天,也没解决,看到出错的http头里面有PHPSESSID,回头去修改了一下程序里的session部分的代码(这部分代码在微信网页授权之后),,也不知道是腾讯那边 ...
随机推荐
- 【HTML】web语义化
一.解决的问题 & 评价标准 web语义化能解决如下问题: 1. 页面样式丢失 2. 有颜色或其他障碍的访客也能读懂页面 3. 移动设备访问页面 4. 程序(如爬虫)理解页面(换句话说SEO优 ...
- HDU 6069
Counting Divisors Problem Description In mathematics, the function d(n) denotes the number of diviso ...
- 【 js 基础 】【 源码学习 】backbone 源码阅读(二)
最近看完了 backbone.js 的源码,这里对于源码的细节就不再赘述了,大家可以 star 我的源码阅读项目(source-code-study)进行参考交流,有详细的源码注释,以及知识总结,同时 ...
- 一个UITableViewCell的简单动画效果
实现下面UITableViewDelegate的方法: forRowAtIndexPath:(NSIndexPath *)indexPath{ CATransform3D rotation; rota ...
- 【HTTP权威指南】第1 章 HTTP 概述
1.1 HTTP--因特网的多媒体信使 ................................................................................ ...
- Sybase数据库的连接,JNDI配置,Hibernate配置
最近的一个项目就是移植老项目的代码,有一个模块用的是Sybase数据库,我表示从来没接触过,更不用说怎么用了.再者这东西都是几乎被淘汰的东西了,而且网上搜到的东西简直了,全是复制粘贴的. 一.使用工具 ...
- 010.Controller methods and views --【控制器方法与视图】
Controller methods and views 控制器方法与视图 2017-3-7 9 分钟阅读时长 作者 By Rick Anderson We have a good start to ...
- Orleans简介
Orleans简介. Orleans是微软开源的分布式actor模型框架.actor模型的原理网络上有很多文章.有许多理论性的文章,深刻地我都不知道怎么应用.在这里我就不赘述了.既然是博客,就说说自己 ...
- CSS学习笔记!
一.关于图像RGB值和像素值的确定! 腾讯QQ截图软件Ctrl+Alt+A进入截图界面,鼠标变成彩色,便会拾取鼠标当前颜色,再按住Ctrl切换到十六进制格式#******.图像的像素值也在截取框内显示 ...
- U3D 控件
1.普通控件 GUI.Label() GUI.Button()等方法添加控件 bool clicked = GUI.Button() 当按钮单击时,返回true string ss = GUI.Tex ...