Springboot+ vue +企业微信登录
前端构造企业微信授权链接
第一步,企业微信后台创建一个应用
这些信息自己填哈,创建完成以后就会出来一个自建应用了
创建完以后,在应用的详细页面就能进行配置
这个是应用的id跟应用的secret,扫码登录目前用不上这个,后续对接其他的api需要用上
然后我们要进行扫码登录的话需要授权扫码的域名地址,点击微信授权登录
里面有三个选项,网页、ios、安卓,我这里使用的是网页,添加一个网页的授权回调域(不然后续登录成功回调会报错)
域名需要是你的前端域名,配置好以后就可以进行下一步了
构造企业微信网页授权OAuth2链接
这个链接是企业微信提供的统一oauth2授权链接,配置对应的参数以后会进入一个二维码的页面,扫码以后回调到你配置的页面
https://open.work.weixin.qq.com/wwopen/sso/qrConnect?appid=CORPID&agentid=AGENTID&redirect_uri=REDIRECT_URI&state=STATE
appid就是企业id(注意:appid不是应用的id,是企业id)
这个地址配置完以后是可以直接通过浏览器地址打开的,打开效果就是一个微信登录的二维码页面,扫码以后他会自动调用你填写的回调地址
例如:
https://open.work.weixin.qq.com/wwopen/sso/qrConnect?appid=123&agentid=235&redirect_uri=http://www.test.com&state=wechat
那我的回调地址redirect_uri填写的是http://www.test.com,登录成功以后他就会调用
http://www.test.com?code = 111111
在你的地址后面加上一个code授权码,你可以根据这个授权码拿到当前扫码人的账号信息,这个code只能使用一次
前后端搭配使用企业微信登录
前端在上一个步骤拿到code以后,将这个code传到后台,后台根据code调用企业微信的接口拿到用户的账号信息,生成对应的token实现扫码登录
其他
扫码登录是企业微信提供的一直方式,还有一种方式就是在企业微信内打开应用,可以免密登录系统,这种方式只能在企业微信内打开使用才行,用浏览器不行
只需要在应用详情页面,配置应用的主页,你在浏览器打开这个应用的时候他就会默认访问这个地址,然后进行免密登录,相对来说比较方便
构造的url就不是之前的那个了
提供了这个地址
https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE&agentid=AGENTID#wechat_redirect
可参考企业微信官方文档: