前言
由于近期工作中设计项目部署上企业微信,并且需要需要用户通过授权来实现获取用户企业微信信息的需求。经过了解,企业微信平台通过Oauth2协议实现第三方应用授权方式获取用户信息,该操作不需要用户输入账号密码。由于这是一个全新的需求,也算是自己的知识盲区,因此记录下来。
操作步骤
先来看看企业微信提供的接入流程图
实际描述应该可以总结为几个步骤:
- 在企业微信后台配置跳转的页面。
- 页面向自己的服务器后台发送http请求并且携带参数code。
- 自己的微信后台去和企业微信服务器后台进行交互,拿到用户的信息。
- 和自己的网关服务进行交互,拿到自己服务器的token,返回给前端。
作为前端,我的关注点应该是流程图中箭头指向客户端和指向用户的这两个节点。从图中可以看出,企业微信后台在验证完参数 corpid
和 redirect_uri
合法性之后会生成一串链接,链接中存在一个 code
参数是前端可以获取的,后端需要前端通过逻辑判断来执行一个重定向操作,将链接中的 code
参数返给后端,以供后端实现后续流程逻辑。
重定向操作的判断逻辑我以企业微信的一个 url
后缀标识 wechart_redirect
进行判断,这一步可以根据实际业务场景改变。
if (window.location.hash.indexOf("wechat_redirect") !== -1) {
// 当url中存在wechat_redirect标识,执行重定向操作
window.location.href = "此处为后端提供的接口,带上后端需要的code参数即可"
}
目前的开发流程进行到了这一步骤,后续完成整个流程开发之后我会更新随笔。
参考资料:
https://blog.csdn.net/m0_48042447/article/details/121224835
https://www.jianshu.com/p/f104e0ef7d56