当前位置: 首页 > 后端技术 > Node.js

微信扫码登录

时间:2023-04-03 19:05:38 Node.js

官方文档:网站应用微信登录开发指南流程图使用步骤在使用页面介绍:http://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js实例以下需要微信登录的JS对象:varobj=newWxLogin({id:"containerId",//要显示的容器idself_redirect:true,/*true:手机点击确认登录后,可以在iframe里面跳转到redirect_uri,false:手机点击确认登录后,可以跳转到顶部窗口的redirect_uri,默认false*/appid:"wx*****",//公众号appidwx*******scope:"snsapi_login",//应用授权范围,以逗号分隔,Web应用目前只支持snsapi_loginredirect_uri:"",//授权成功后的回调urlstate:"",/*用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可以用来防止csrf攻击(跨站请求伪造攻击),可以设置为简单的随机数加上session进行验证*/style:"black",//"black"and"white"可选.二维码样式href:""//外部css文件url,需要https});流程详解:使用微信扫码时,微信验证成功后,会访问redirect_uri,并在redirect_uri的参数中添加code和setstate。在node层,添加redirect_uri对应的路由。当路由收到相应的请求时,首先检查状态,然后将获取到的code和appid、secret、grant_type参数请求到https://api.weixin.qq.com/sns...,获取用户的ACCESS_TOKEN并访问https://api.weixin.qq.com/sns...通过ACCESS_TOKEN可以获取到用户的微信信息。以获取到的用户信息(带用户唯一openid),在后台调用微信登录接口,成功跳转到url后进入登录页面。备注:在某些情况下,可能需要验证或刷新用户的ACCESS_TOKEN。