公司使用的是企业微信进行人员的管理,我们就打算借用微信的用户权限进行管理,于是就要实现扫码登陆的功能.
开始对接: 参考文档 https://work.weixin.qq.com/api/doc#90000/90135/91025
1. 按照官方要求,登陆企业管理端后台->应用于小程序->需要开启的自建应用->进入应用并点击 “企业微信授权登录"
然后点击 “设置授权回调域”,输入回调域名,点击“保存”
选定类型进行设置:
2.加载登陆页面
官方提供了两种方式:
1)构造独立窗口登录二维码
2)构造内嵌登录二维码
我们为了登陆体验更好一些,所以选择了第二种方式进行登陆
JS企业微信登录主要用途:网站希望用户在网站内就能完成登录,无需跳转到企业微信域下登录后再返回,提升企业微信登录的流畅性与成功率。 网站内嵌二维码企业微信登录JS
具体按照官方教程一步一步操作即可:
3.微信登陆成功跳转设置的重定向地址并携带code和state参数,执行验证uuid,并通过接口获取用户ID,最后通过用户ID获取用户详细信息,接口做登陆逻辑的处理
注意点:
1. redirect_uri 必须进行urlencode编码,该地址需要登陆之后跳转的地址(执行登陆操作)
2.state 需要在加载的时候来进行用户唯一的标识,执行登陆的时候进行验证防范CSRF攻击(一定设置uuid过期时间)