web-wechat-login
用于web网站实现微信签名和微信登陆的一个node模块,该模块最初开发为在
express
中使用。
安装
npm install --save web-wechat-login
用法简介
构造函数
var webLogin = ; var wechat = appId : '{{appID}}' appSecret:'{{appSecret}}' callbackUrl:'{{http://api.example.com/wechat/callback}}';
appId和appSecret请移步于微信开发平台上认证申请。
wechat.login(req , res);
用于Express的路由routes下,请自定义页面请求地址,访问后自动重定向到微信二维码登陆页面。 示例如下:
/* GET wechat login page. */router;
若需直接获取微信二维码登陆地址,则直接调用loginUrl方法。 示例如下:
var loginUrl = wechat;
注:若提示“redirect_uri 参数错误”,请检查参数是否填写错误,如callbackUrl
的域名与审核时填写的授权域名不一致。
wechat.authorize(req , res);
用于Express的路由routes下,请自定义页面请求地址,手机访问后自动重定向到微信授权页面。 示例如下:
/* GET wechat authorize page. */router;
若需直接获取微信认证确认地址,则直接调用authorizeUrl方法。 示例如下:
var authorizeUrl = wechat;
wechat.callback(req , res)
回调地址请与callbackUrl
参数保持一致,该方法会接收微信回调,并进行一系列认证,直到拿到用户信息。请注意,在用户修改微信头像后,旧的微信头像URL将会失效,因此开发者应该自己在获取用户信息后,将头像图片保存下来,避免微信头像URL失效后的异常情况。
使用示例。方法返回promise。
/* listen wechat callback. */routerall'/wechat/callback' { wechat;};
返回说明
正确的Json返回结果:
参数 | 说明 |
---|---|
openid | 普通用户的标识,对当前开发者帐号唯一 |
nickname | 普通用户昵称 |
sex | 普通用户性别,1为男性,2为女性 |
province | 普通用户个人资料填写的省份 |
city | 普通用户个人资料填写的城市 |
country | 国家,如中国为CN |
headimgurl | 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空 |
privilege | 用户特权信息,json数组,如微信沃卡用户为(chinaunicom) |
unionid | 用户统一标识。针对一个微信开放平台帐号下的应用,同一用户的unionid是唯一的。 |
建议:开发者最好保存用户unionID信息,以便以后在不同应用中进行用户信息互通。
错误的Json返回示例: