钉钉扫码登录第三方

钉钉文档

实现登录第三方网站 - 钉钉开放平台 (dingtalk.com)

html页面

将html放在

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>登录</title>// jquery<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>// 钉钉二维码<script src="https://g.alicdn.com/dingding/h5-dingtalk-login/0.21.0/ddlogin.js"></script><style>/* STEP2:指定这个包裹容器元素的CSS样式,尤其注意宽高的设置 */.self-defined-classname {width: 300px;height: 300px;/* border: 1px #000 solid; */}</style>
</head><body><!-- STEP1:在HTML中添加包裹容器元素 --><div id="self_defined_element" class="self-defined-classname"></div>
</body></html>
<script>// STEP3:在需要的时候,调用 window.DTFrameLogin 方法构造登录二维码,并处理登录成功或失败的回调。window.DTFrameLogin({id: 'self_defined_element',width: 300,height: 300,},{   // 回调地址:可以理解为用户扫码同意后钉钉会重定向到你指定的地址并把授权码authCode拼接到该地址参数redirect_uri: encodeURIComponent('http://192.168.11.98:82/index'),client_id: 'dixxxxxxxxxxxxxx', // 你的企业内部应用appKeyscope: 'dingxxxxxxxxxxxxxxxxxxx',	// 保持不变 response_type: 'code',	// 保持不变state: 'pc',	// 跟随authCode原样返回prompt: 'consent',	// 值为consent时,会进入授权确认页},(loginResult) => {const { redirectUrl, authCode, state } = loginResult;// 用户扫码成功后获取到重定向地址以及同意的授权码,这里不做重定向地址。// 通过拿到的授权码调用我们第三方应用的钉钉授权码登录接口换取用户凭证tokenconsole.log(redirectUrl, authCode, state)$.ajax({url: `http://xxxxxxxxxxxxxxx/auth`,   // 后端接口method: 'get',contentType: 'application/json',data:{authCode:authCode},dataType: 'json',success: function (data) {if (data.code == 200) {// 获取token并缓存下来// window.localStorage.setItem('Admin-Token', data.token);document.cookie = 'Admin-Token='+data.token;// 重定向到首页parent.location.href = 'http://xxxxxxxxx/index'} else {alert('钉钉扫码登录失败,请再次尝试。');return;}},error: function (err) {alert(err);}});},(errorMsg) => {// 这里一般需要展示登录失败的具体原因alert(`Login Error: ${errorMsg}`);},);
</script>

将html通过iframe 放在登录页

<div><iframe src="/loginpage.html" ref="iframe" width="330px" height="330px" style="margin: 0px 0px 0px 20px;" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes"></iframe>
</div>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/43904.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Joblib是一个专注于高效计算和数据持久化的Python库

Joblib 是 Python 中一个极具价值的库&#xff0c;在高效计算和数据持久化方面发挥着重要作用。 在高效计算领域&#xff0c;Joblib 展现出多方面的出色特性。其并行计算能力尤为突出&#xff0c;能够智能识别可并行的任务&#xff0c;并将其合理分配至计算机的多个 CPU 核心&a…

Qt:12.输入类控件(QSpinBox-整数值输入的小部件、QDateEdit、QTimeEdit、QDateTimeEdit- 日期和时间输入的控件)

目录 一、QSpinBox-整数值输入的小部件&#xff1a; 1.1QSpinBox介绍&#xff1a; 1.2属性介绍&#xff1a; 1.3通用属性介绍&#xff1a; 1.4信号介绍&#xff1a; 二、QDateEdit、QTimeEdit、QDateTimeEdit- 日期和时间输入的控件&#xff1a; 2.1QDateEdit、QTimeEdit…

机器人伦理分析:从扫地机器人到智能伙伴

我发过一个泡泡&#xff1a;机器人和扫地机器人。 意犹未尽&#xff0c;我觉得这是一个值得讨论下去的话题。或者是未来话题 在科技迅猛发展的今天&#xff0c;机器人已经从简单的执行工具演变为能够执行复杂任务的智能实体。特别是在家庭环境中&#xff0c;扫地机器人已经成为…

Python字符串操作指南

目录 1. 检测与查询 find index 2. 修改与替换 replace split 3. 大小写转换与检查 capitalize lower upper 4. 头尾检查 startswith endswith 结语 在Python编程中&#xff0c;字符串操作是最常见的任务之一。无论是处理文本数据、生成报告还是解析用户输入&…

量化机器人能否识别市场机会?

量化机器人的设计和应用是为了通过高级算法和大数据分析&#xff0c;精确地识别和把握市场中的交易机会。这些机器人的能力不仅仅局限于执行预定的交易策略&#xff0c;更包括在复杂和快速变化的市场环境中识别利润机会。 首先&#xff0c;量化机器人能够处理和分析大量的市场…

AtCoder Beginner Contest 361

目录 A - Insert B - Intersection of Cuboids C - Make Them Narrow D - Go Stone Puzzle E - Tree and Hamilton Path 2 F - x a^b A - Insert 我们按照题目意思直接模拟即可&#xff0c;不需要使用数组在第k位置的时候额外输出一个x即可 int t,n,m,k,x; void solv…

Mac下flutter运行iOS模拟器

上篇flutter环境安装&#xff08;Macvscode&#xff09;已经将vscode和xcode等开发环境都搭建起来了&#xff0c;vscode新建工程还是比较方便的&#xff0c;那么&#xff0c;建立好了之后&#xff0c;我们怎么看效果呢&#xff1f; 1. vscode新建项目 通过 vscode的命令命板(…

零信任网络安全

随着数字化转型的发生&#xff0c;网络边界也在不断被重新定义&#xff0c;因此&#xff0c;组织必须使用新的安全方法重新定义其防御策略。 零信任是一种基于“永不信任&#xff0c;永远验证”原则的安全方法&#xff0c;它强调无论在公司内部或外部&#xff0c;任何用户、设…

如何检测用户的Chrome插件

背景 已知一些Chrome插件会影响到网站的一些功能&#xff0c;希望在前端主动检测到用户使用了某插件然后弹出提示让用户关闭&#xff0c;以减少客诉 方法 1. 检测资源文件 如图获取插件的ID 启用插件后&#xff0c;打开 chrome-extension://${ID}/manifest.json 找到 web_a…

分享一个 EF6 分页查询数据的 IQueryable 扩展方法

前言 不废话&#xff0c;直接上方法。_ IQueryable 扩展方法 方法一 /// <summary> /// 由其它 Reponsitory 提供数据源&#xff0c;分页查询数据 /// </summary> /// <typeparam name"T"></typeparam> /// <typeparam name"S&quo…

MySQL:TABLE_SCHEMA及其应用

MySQL TABLE_SCHEMA及其应用 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/ar…

探索WeNet:一个面向生产的端到端语音识别工具包

探索WeNet&#xff1a;一个面向生产的端到端语音识别工具包 文章目录 探索WeNet&#xff1a;一个面向生产的端到端语音识别工具包引言端到端&#xff08;E2E&#xff09;模型WeNet的主要特点1. U2框架2. 生产导向 实验结果系统设计结论参考资料 引言 在语音识别领域&#xff0…

24/07/08数据结构(2.1203)顺序表实现

size属于结构体的作用域 如果要访问一个结构体的指针用-> 如果要访问一个结构体的变量用. 点操作 #include<stdio.h> #include<stdlib.h> #include<string.h> #include"seqlist.h" //typedef struct seqList{ // SLDataType* _data; //需…

20_Inception V3深度学习图像分类算法

回顾GoogleNet:传送门 1.1 介绍 InceptionV3是Google开发的一种深度卷积神经网络架构&#xff0c;它是Inception系列网络中的第三代模型&#xff0c;由Christian Szegedy等人在论文《Rethinking the Inception Architecture for Computer Vision》中提出&#xff0c;该论文发…

基于Java的学生选课系统

第1章 系统概述 1.1概述 背景&#xff1a;随着计算机网络技术的发展&#xff0c;Web 数据库技术已成为应用最为广泛的网站架构基础技术。学生选课系统作为教育单位不可缺少的部分&#xff0c;其内容对于学校的决策者和管理者至关重要。传统的人工管理方式存在效率低、保密性差等…

python解释器上下左右^H问题处理

安装了Python后&#xff0c;发现python解释器里面&#xff0c;Backspace&#xff08;退格键&#xff09;输入显示 ^H 方向键 输入^[[A 等的字符&#xff0c;导致用起来很麻烦&#xff0c;网上搜索资料发现&#xff0c;是由于缺少readline库导致的。 1、临时解决 按ctrlbackspa…

企业协同办公+应用开发平台:推动数字化转型的新引擎

在数字化浪潮的推动下&#xff0c;企业协同办公和应用开发平台已成为企业提高效率、加速创新的关键工具。这两个领域的结合&#xff0c;不仅为企业提供了更加灵活、高效的工作方式&#xff0c;还为企业打造了全新的数字化生态&#xff0c;推动企业向数字化转型的深水区迈进。 企…

插8张显卡的服务器有哪些?

在高性能计算和深度学习领域&#xff0c;拥有强大图形处理能力的服务器越来越受到重视。这类服务器通常能够支持多张显卡&#xff0c;以满足复杂的图形处理和并行计算需求。本文将介绍几款能够支持插入8张显卡的服务器。 NVIDIA DGX Station NVIDIA DGX Station 是一款专为AI研…

htmlcss基础

html 组成 <!--跟标签--> <html><!--头标签--><head><!--网页的标题标签--><tltle>测试html</title></head><!--体标签--><body><font color"yellow" size"7">测试体</font>&l…

Python酷库之旅-第三方库Pandas(012)

目录 一、用法精讲 28、pandas.HDFStore.keys函数 28-1、语法 28-2、参数 28-3、功能 28-4、返回值 28-5、说明 28-6、用法 28-6-1、数据准备 28-6-2、代码示例 28-6-3、结果输出 29、pandas.HDFStore.groups函数 29-1、语法 29-2、参数 29-3、功能 29-4、返回…