企业微信 之 网页鉴权并与公司后台关联

目录

1.构造网页授权链接,获取code

2. 配置可信域名:应用管理 -> 点击创建的应用 -> 网页授权及 JS-SDK

3.通过config接口注入权限验证配置

4.通过agentConfig注入应用的权限

5.获取外部联系人userId

 6.拿到access_token(后端完成)

7.获取企业 jsapi_ticket(后端完成)

8.通过userId,获取该微信平台下该用户的 unionid(后端完成)


扫描二维码关注公众号,回复: 14219204 查看本文章

1.构造网页授权链接,获取code

构造网页授权链接 - 接口文档 - 企业微信开发者中心

window.location.href = 链接即可。如果请求成功,code会显示在浏览器地址上


2. 配置可信域名:应用管理 -> 点击创建的应用 -> 网页授权及 JS-SDK


3.通过config接口注入权限验证配置

使用说明 - 接口文档 - 企业微信开发者中心


4.通过agentConfig注入应用的权限

wx.agentConfig - 接口文档 - 企业微信开发者中心


5.获取外部联系人userId

获取当前外部联系人userid - 接口文档 - 企业微信开发者中心


注:需要在index.html文件中引入js文件
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

3.4.5连在一起

//注入权限验证配置
window.wx.config({
    beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: '', // 必填,企业微信的corpID
    timestamp: , // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名,见 附录-JS-SDK使用权限签名算法
    jsApiList: [] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
});

window.wx.ready(() => {
  // 请求获取应用权限
  ajax.get(‘balabalabala).then(cof => {
      const confObj = cof.data.data || {};
      // 注入应用的权限
      window.wx.agentConfig({

        ...confObj,
    
        success: function(res) {
          // 获取当前外部联系人userId
          window.wx.invoke('getCurExternalContact', {}, function(res) {
            if (res.err_msg == 'getCurExternalContact:ok') {
              const userId = res.userId; // 返回当前外部联系人userId
            } else {
              // 错误处理
            }
          });
        },
        fail: function(res) {
          // 错误处理
        }
      });
    })
    .catch(() => {
      // 错误处理
  });
});

 6.拿到access_token(后端完成)

获取access_token - 接口文档 - 企业微信开发者中心


7.获取企业 jsapi_ticket(后端完成)

JS-SDK使用权限签名算法 - 接口文档 - 企业微信开发者中心


8.通过userId,获取该微信平台下该用户的 unionid(后端完成)

获取客户详情 - 接口文档 - 企业微信开发者中心

unionid:   外部联系人在微信开放平台的唯一身份标识(微信unionid),通过此字段企业可将外部联系人与公众号/小程序用户关联起来。仅当联系人类型是微信用户,且企业或第三方服务商绑定了微信开发者ID有此字段。

通过获取的 unionid 与 公司后台已存在的 unionid 匹配,从而获取该外部联系人在 公司后台 的基本信息,返回到前端进行展示

至此,大功告成,累死了

猜你喜欢

转载自blog.csdn.net/a15297701931/article/details/124099036