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

本文主要是介绍钉钉应用接入、免登、前端,简单易懂,省去你翻阅文档的时间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

**

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-ignoreonSuccess: (info) => {const code = info.code},onFail: () => null,});});
}

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

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

在这里插入图片描述

这篇关于钉钉应用接入、免登、前端,简单易懂,省去你翻阅文档的时间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897246

相关文章

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与

Java controller接口出入参时间序列化转换操作方法(两种)

《Javacontroller接口出入参时间序列化转换操作方法(两种)》:本文主要介绍Javacontroller接口出入参时间序列化转换操作方法,本文给大家列举两种简单方法,感兴趣的朋友一起看... 目录方式一、使用注解方式二、统一配置场景:在controller编写的接口,在前后端交互过程中一般都会涉及

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

C语言中位操作的实际应用举例

《C语言中位操作的实际应用举例》:本文主要介绍C语言中位操作的实际应用,总结了位操作的使用场景,并指出了需要注意的问题,如可读性、平台依赖性和溢出风险,文中通过代码介绍的非常详细,需要的朋友可以参... 目录1. 嵌入式系统与硬件寄存器操作2. 网络协议解析3. 图像处理与颜色编码4. 高效处理布尔标志集合

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Java中字符串转时间与时间转字符串的操作详解

《Java中字符串转时间与时间转字符串的操作详解》Java的java.time包提供了强大的日期和时间处理功能,通过DateTimeFormatter可以轻松地在日期时间对象和字符串之间进行转换,下面... 目录一、字符串转时间(一)使用预定义格式(二)自定义格式二、时间转字符串(一)使用预定义格式(二)自

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl

Java中的Lambda表达式及其应用小结

《Java中的Lambda表达式及其应用小结》Java中的Lambda表达式是一项极具创新性的特性,它使得Java代码更加简洁和高效,尤其是在集合操作和并行处理方面,:本文主要介绍Java中的La... 目录前言1. 什么是Lambda表达式?2. Lambda表达式的基本语法例子1:最简单的Lambda表

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M