官方文档:网站应用微信登陆开发指南css
http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js
在须要使用微信登陆的地方实例如下JS对象:html
var obj = new WxLogin({ id:"containerId", // 须要显示的容器id self_redirect:true,/*true:手机点击确认登陆后能够在 iframe 内跳转到 redirect_uri,false:手机点击确认登陆后能够在 top window 跳转到 redirect_uri。默认为 false。*/ appid: "wx*****", // 公众号appid wx******* scope: "snsapi_login", // 应用受权做用域,以逗号隔开。网页应用目前仅支持snsapi_login redirect_uri: "", // 受权成功后回调的url state: "", /* 用于保持请求和回调的状态,受权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),可设置为简单的随机数加session用来校验*/ style: "black", // 提供"black"、"white"可选。二维码的样式 href: "" // 外部css文件url,须要https });
在node层,添加一个redirect_uri对应的路由,当路由接受到对应请求,先校验一下state,而后将拿到的code和appid, secret, grant_type参数请求 https://api.weixin.qq.com/sns...,拿到用户的ACCESS_TOKENnode
经过ACCESS_TOKEN访问https://api.weixin.qq.com/sns...,即可以拿到用户的微信信息了。api
将拿到的用户信息(有用户的惟一的openid),调用后台的微信登陆接口,成功redirect到进入登陆页面以前的url即可以了。微信
备注:有的状况可能须要校验或刷新用户的ACCESS_TOKEN.session