最近公司的系统需要和企业微信进行打通,首先需要公司的人员可以使用企业微信进行扫码登录。使用企业微信扫码登录的流程比较简单,我做一个demo记录一下。
注意:下面代码中重定向的地址是我进行穿透的地址。
第一步:企业微信管理后台新建一个需要扫码登录的项目第二步:在项目中引入微信提供的js文件,该js文件主要用于生成二维码。http://rescdn.qqmail.com/node/ww/wwopenmng/js/sso/wwLogin-1.0.0.js
第三步:点击第一步创建的应用,配置授权的回调域。本地开发环境需要进行穿透。如果你需要进行穿透,可以了解一下ngrok,很简单。第四步:在项目的登录页面引入微信提供的js文件,并在合适的位置填入下方的代码<div id="qrcode"></div>
<script>
window.WwLogin({
"id" : "qrcode",
"appid" : "",
"agentid" : ,
"redirect_uri" : "http://6678462e.ngrok.io/xhc/qyScanQrLogin",
"state" : "",
"href" : "",
});
</script>
第五步:新建一个登录逻辑的处理接口。主要用户企业微信扫码后的回调地址,在该接口中可以进行登录的业务处理,获取到扫码人的企业微信信息。结果参数解读:
id: 企业页面显示二维码的容器id
appid: 企业微信的CorpID,在企业微信管理端查看
agentid: 授权方的网页应用ID,在具体的网页应用中查看
redirect_uri: 重定向地址,需要进行UrlEncode
state: (不必填)用于保持请求和回调的状态,授权请求后原样带回给企业。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议企业带上该参数,可设置为简单的随机数加session进行校验
href: (不必填)自定义样式链接,企业可根据实际需求覆盖默认样式。