钉钉免登录接口

查阅钉钉提供的开发文档,发现了三种免登录API接口

当然,在使用之前还是要先下载钉钉对应的依赖包 dingtalk-jsapi ,并在页面内引入

1. dd.requestAuthCode

复制代码
dd.requestAuthCode({
  corpId: config.corpId,
  clientId: config.clientId,
  onSuccess: function (result) {
    console.log('result', result);
    return result.code
  },
  onFail: function (err) {
    return err
  },
});

2. dd.getOperateAuthCode

复制代码
dd.getOperateAuthCode({
  corpId: 'xxxxxxxxxxxxxx',
  agentId: '1111133322222',
  success: (res) => {
    uni.showToast({ title: res.code , icon: 'none' })
  },
  fail: (err) => {
    uni.showToast({ title: 'err'+ err , icon: 'none' })
  },
  complete: () => {},
});

3. dd.getAuthCode

复制代码
dd.getAuthCode({
  corpId: config.corpId,
  success: (res) => {
    const data = { authCode: res.code, platform: 'DingTalk' }
    $login(data).then((result) => {
      setToken(result.token)
      setId(result.userid)
    }).catch((err) => {
      uni.showToast({ title: '登录失败!'+ JSON.stringify(err) , icon: 'none', duration: 3000 } )
    })
  },
  fail: (err) => {
    uni.showToast({ title: 'err'+ JSON.stringify(err) , icon: 'none', duration: 3000  } 
  )},
  complete: () => {},
});

我用的是第三个接口实现的功能,首先需要去申请一个 corpId去关联,然后调用接口的时候把 corpId传入进去

在成功回调 success 内,会返回当前用户对应的 code 加密字符

得到code后,调取后端提供的接口,把对应的code传入,调取通过,后端会返回 token 等信息

存入 token,以便后面调取接口的时候使用

相关推荐
LucianaiB10 小时前
【元宝搜索开发者征文大赛】AI时代,学得慢就不用学?用元宝搜索打造一个教程保质期,确保每一个教程符合你的现状
前端·人工智能·ai编程
excel10 小时前
JavaScript 对象池:减少高频对象创建与 GC 压力
前端
陈随易12 小时前
纯 Go 写的 JS 引擎,跑分超过了 C 语言的 QuickJS
前端·后端·程序员
子兮曰13 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
IT_陈寒14 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
强尼银手14 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
石小石Orz14 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
陈随易14 小时前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员
总要学点什么15 小时前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质
10share15 小时前
基于大模型的 i18n 方案:把中文原文当 Key,轻松搞定多语言维护
前端·vue.js