企业微信Oauth2协议前端流程

前言

由于近期工作中设计项目部署上企业微信,并且需要需要用户通过授权来实现获取用户企业微信信息的需求。经过了解,企业微信平台通过Oauth2协议实现第三方应用授权方式获取用户信息,该操作不需要用户输入账号密码。由于这是一个全新的需求,也算是自己的知识盲区,因此记录下来。

操作步骤

先来看看企业微信提供的接入流程图
image

实际描述应该可以总结为几个步骤:

  1. 在企业微信后台配置跳转的页面。
  2. 页面向自己的服务器后台发送http请求并且携带参数code。
  3. 自己的微信后台去和企业微信服务器后台进行交互,拿到用户的信息。
  4. 和自己的网关服务进行交互,拿到自己服务器的token,返回给前端。

作为前端,我的关注点应该是流程图中箭头指向客户端和指向用户的这两个节点。从图中可以看出,企业微信后台在验证完参数 corpidredirect_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

posted @   ychizzz  阅读(1041)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示