前提条件
- 已经配置应用的基本信息,以及对应的可信域名 如何创建第三方应用
- 服务端开发人员已经配置好了数据回调URL,指令回调URL,具备获取第三方应用凭证suite_access_token的能力。
- 将应用安装到测试企业的工作台
身份验证
主要有两种登录方式:
- 企业微信客户端OAuth的授权登录
- 企业微信管理端单点登录
OAuth的授权登录
流程图
构造授权链接
授权链接既可以由后端构造,返回给前端,也可以前端自己构造。但跳转至授权链接的行为需要由前端来触发。
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
授权链接构造参考官方文档授权链接
实现流程
- 用户在企业微信工作台点击应用,应用主页向授权链接进行跳转。
// 应用主页 wechat-index
created() {
window.location.href = "授权链接"
}
- 企业微信对授权链接校验后,向重定向URL跳转,并携带当前访问成员的code信息。
- 在重定向URL对应的页面(单独准备一个页面),前端从路径上得到code,把code交给后端,换取用户信息和token,完成登录。
// 重定向URL对应的页面
// 假设重定向URL为https://demo.com/redirect
// 此时URL为:https://demo.com/redirect?code=xxx
created() {
let code = this.$route.query.code
// 拿到code后 调用后端的接口获取用户信息
}
前端需要做的主要就是: 1.在应用主页向授权链接跳转。 2.专门准备一个重定向URL对应的页面,待企业微信校验授权链接后跳转到该页面时,拿到code,调用后端的接口,将code给后端。后端通过code去和企业微信换取用户的信息,再返回给前端。
企业微信管理端单点登录
登录入口
流程图
实现流程
- 管理员登录企业微信管理端,点击应用中的“业务设置”。会跳转到业务设置URL。业务设置URL上会携带auth_code。
- 前端在业务设置URL对应的页面中拿到auth_code,把code交给后端,换取用户信息和token,完成登录。
// 业务设置URL对应的页面
// 此时URL为:https://demo.com/service?auth_code=xxx
created() {
let auth_code = this.$route.query.auth_code
// 拿到auth_code后 调用后端的接口获取用户信息
}