钉钉应用接入、免登、前端,简单易懂,省去你翻阅文档的时间

21 篇文章 0 订阅
11 篇文章 0 订阅
本文介绍了如何通过authCode和code在前端与钉钉后端进行身份验证,包括authCode通过配置应用地址自动获取,以及使用dingtalk-jsapi插件获取code的过程。同时提到要在header中添加meta和script标签以实现监控功能。
摘要由CSDN通过智能技术生成

**

1. 概述

接入钉钉并免登录,对前端而言需要传给后端的是两个code,至于后端用到哪个就取哪个,传过去的code类似于账号密码,代表此钉钉用户的唯一信息,该code由钉钉返回给前端,前端传给后端,后端用此code调用钉钉提供的api获取具体用户信息等等,两个code的获取方式如下:

2. 具体获取方式

  1. authCode 获取方式
    在钉钉后台配置应用icon、应用名称、应用地址时,应用地址填写钉钉提供的固定的一串url,此url中拼接进次应用首页的地址即可,钉钉提供的这个url会自动跳转到钉钉的页面,然后解析出地址中拼接的应用url并重定向跳转,跳转过去的同时会在url后面拼接上authCode,前端在页面中解析出url中的authCode参数并传给后端即可,具体链接如下:

https://login.dingtalk.com/oauth2/challenge.htm?redirect_uri=http://***.com/user/ding/login&response_type=code&client_id=***&scope=openid%20corpid&prompt=consent&FEForceLogin=true&corpId=***

此地址中有三个参数是活的,其他都是钉钉提供的写死的,这三个参数分别是

  1. redirect_uri:具体要跳转的你此应用对应的地址,钉钉会解析出里面的这个参数,跳转过去并且拼接上authCode,类似这种http://***.com/user/ding/login&authCode=123456
  2. client_id:在钉钉应用开发平台中配置时,你的配置后台中凭证与基础信息中获取
  3. corpId:在钉钉应用开发平台中配置时,你的配置后台中凭证与基础信息中获取

注:此地址固定部分由钉钉提供,具体可能随着版本变动有变化,建议去官方文档中对比一下,但具体使用方式不会变

  1. code获取方式
    通过钉钉提供的dingtalk-jsapi插件获取,具体代码如下
import * as dd from 'dingtalk-jsapi'; // 此方式为整体加载,也可按需进行加载

dd.ready(() => {
   dd.runtime.permission.requestAuthCode({
     corpId: corpId as string, // 企业id
     // @ts-ignore
     onSuccess: (info) => {
       const code = info.code
       
     },
     onFail: () => null,
   });
 });
}

其中的corpId变量获取方式同上面一样,在配置后台中凭证与基础信息中获取

3. 除了上述的两个code的获取,还要在header标签中添加meta和script两个标签,以实现监控功能,具体代码去后台配置中获取:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值