H5应用集成到钉钉,完成免登录

钉钉H5免登录流程前后端实现 这里简单介绍一下实现过程和整合后的代码,官网的代码比较分散,新手看起来有点困难免登是指用户进入应用后,无需输入钉钉用户名和密码,应用程序可自动获取当前用户身份,进而登录系统的流程。 阅读详情

钉钉创建H5应用--->访问H5主页--->获取钉钉用户信息(唯一ID)--->绑定H5应用用户--->H5模拟登录

1.页面获取authcode,用于后台获取钉钉用户信息;

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head lang="zh">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta charset="utf-8" />
    <meta content="yes" name="apple-mobile-web-app-capable"/>
    <meta content="yes" name="apple-touch-fullscreen"/>
    <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
    <title>钉钉授权CRM登录</title>
    <script src="https://g.alicdn.com/dingding/dingtalk-jsapi/3.0.12/dingtalk.open.js"></script>

    <script>
        var corpId = '[[${corpId}]]';//钉钉后台可查到
        console.log(corpId);
        dd.runtime.permission.requestAuthCode({

            corpId: corpId,
            onSuccess : function(res) {
                document.getElementById("authCode").value= res.code;
               document.form1.submit();
                console.log(res.code)
            },
            onFail : function(err) {
                console.log("fail"+res);
            }
        });
    </script>
    <style>

        .myButton{
            background: #3296fb;
            color: #fff;
            border:#3296fb;
            font-size:16px;
            border-radius:5px;
            line-height: 20px;
            letter-spacing:5px;
            padding:10px 5px;
        }

    </style>
</head>
<body>
<form action="checkUser" method="post" name="form1" id="form1" style="margin-top: 30px;text-align: center;">
    <div style="line-height:50px;vertical-align:middle;padding-top:20px;">
        <img src="../dingding.png" style="width:100px;"/>
        <img src="../sq.png" style="width:50px;"/>
        <img src="../cloudcc.png" style="width:100px;"/>
    </div>

    <input type="hidden" name="authCode" id="authCode" />
    <div style="width:100%;clor:#999;font-size:20px;line-height:50px;padding:10px 5px;">您正在操作钉钉授权登录CRM系统会获取您的钉钉用户信息</div>
    <div>
        <input type="submit" value="&nbsp;确定授权" class="myButton"/>
    </div>
</form>
</body>
</html>

2.根据authcode获取钉钉用户id

 public String getUserId(String code) throws Exception{

        // URL_GET_USER_INFO   https://oapi.dingtalk.com//user/getuserinfo
        log.info(urlConstant.URL_GET_USER_INFO+"?access_token="+accessToken);
        //此处crmapi工具类,只使用了其中的get方法。可以自己写
        String getUserId = crmapi.sendGetRequest(urlConstant.URL_GET_USER_INFO,
                "access_token="+accessToken+"&code="+code);
        log.info("使用缓存中的token,userJson:"+getUserId);
        JSONObject json  = JSONObject.fromObject(getUserId);

        if(json.getString("errcode").equals("40014")){
            log.info("===请求新token");
            getUserId = crmapi.sendGetRequest(urlConstant.URL_GET_USER_INFO,
                    "access_token="+this.getToken()+"&code="+code);
            json  = JSONObject.fromObject(getUserId);
        }
        String userId =  json.getString("userid");

        return userId;
    }

3.H5应用内部逻辑

a.用户信息绑定钉钉用户id;

b.模拟登录;

4.下次访问直接通过钉钉用户id在H5系统里查询用户信息,访问系统。

【python+钉钉】钉钉端H5企业应用免登陆 Python3.7+Django3.2.5 后端使用auth_code获取当前钉钉登录用户userId等信息 钉钉端H5企业应用免登陆 根据前端传回的auth_code获取当前用户的userId等用户信息. 阅读详情

相关推荐

钉钉实现免登第三方平台

例如,微应用首页地址为https://www.dingtalk.com,需要获取当前访问用户的企业corpId值,微应用首页地址可改为https://www.dingtalk.com?在进入该首页地址页面时,使用js方法获取当前页面URL,即可获取corpId值。第三方企业应用可以在微应用的首页URL中使用$CORPID$做为参数占位符,钉钉容器会将$CORPID$替换为当前访问用户的企业corpId。调用钉钉接口,用免登授权码换取access_token。先在钉钉开放平台,创建应用。最后查询本系统用户。

Mr_Huang_1的博客 3011

vue开发h5页面内嵌到钉钉微应用中获取免登录code

vue开发h5页面内嵌到钉钉微应用中获取免登录code

qq_44410862的博客 2270

钉钉H5微应用开发实战:Vue集成免登录用户信息获取

本文详细介绍了如何在Vue框架中开发钉钉H5微应用,实现免登录获取用户信息的完整流程。通过钉钉JSAPI集成,开发者可以快速构建企业内部应用,提升员工使用体验。文章涵盖环境搭建、授权码获取、用户信息处理等核心环节,并提供了错误处理、多环境配置等实战优化技巧。

weixin_42558257的博客 452

【钉钉免登录】使用dingtalk-jsapi将H5/小程序集成到钉钉,实现单点登录,H5/小程序免登

【钉钉免登录】使用dingtalk-jsapi将H5/小程序集成到钉钉,实现单点登录,H5/小程序免登

weixin_51054408的博客 7763

分组背包问题(MCKP)三大算法对比:贪心、Dyer-Zemel和动态规划谁更强?

本文深入对比了分组背包问题(MCKP)的三大主流算法:贪心算法、Dyer-Zemel算法和动态规划。通过分析各自的原理、实现及性能表现,揭示了贪心算法速度快但非最优,动态规划精确但受限于规模,而Dyer-Zemel算法则在效率与最优性间取得了最佳平衡,是解决中等至大规模MCKP问题的首选方案。

vscode6remote的博客 226

ADS1293心电图模块实战:从电极贴片到信号采集的全流程指南

本文提供了一份基于TI ADS1293芯片的心电图采集系统全流程实战指南。文章深入探讨了从电极贴片选择与皮肤预处理、ADS1293前端配置(包括PGA、RLD和威尔逊网络),到PCB布局、电源去耦以及固件滤波与运动伪影处理等关键环节,旨在帮助硬件工程师和嵌入式开发者构建稳定可靠的可穿戴心电监测设备。

weixin_29201313的博客 384

【钉钉免登录】(详解)钉钉接口,H5微应用,钉钉免登录及获取当前用户信息

一、背景描述 公司做一个项目要集成到钉钉上, 二、 钉钉免登录应用注意事项: 1、创建应用; 2、配置出口IP与访问首页; 3、开放权限(手机号码信息、通讯录部门信息读权限、成员信息读权限、通讯录部门成员读权限); 4、 ...

No8g攻城狮的博客 9420

操作系统头歌 课后作业3.3.2:进程的调度

请问:从 6 号进程刚创建完 7 号进程开始,在接下来的 9 次进程调度中,每次调度时,6 号和 7 号进程的剩余时间片是多少?请问:从 6 号进程刚创建完 7 号进程开始,在接下来的 9 次进程调度中,每次调度时,6 号和 7 号进程的剩余时间片是多少?根据相关知识回答当程序 01.c 运行时(在版本 0 内核中),会在父子两个进程(假设分别为 6 号和 7 号进程)中分别输出字符串。当程序 01.c 运行时(在版本 0 内核中),会在父子两个进程(假设分别为 6 号和 7 号进程)中分别输出字符串。

weixin_73255571的博客 4715

ionic4 钉钉H5微应用免登录

ionic4 钉钉H5微应用免登录

Zachary 2601

如何利用ADS中的耦合线设计带通滤波器并转换为HFSS模型

耦合线带通滤波器是一种常用的微带滤波器形式,由多个长度为四分之一波长的耦合线节组成,在所需频点形成谐振,构成滤波器的频率响应特性。首先我们先来了解一下耦合线带通滤波器的电路结构,见下图:包括两对耦合线,中间为公共连接点,其中两对耦合线的偶奇模阻抗为(Z1e,Z1o)和(Z2e,Z2o,端口输入阻抗为Z0)。2.指定一个初始奇偶模值,ADS优化出一个合适的结果,通过奇偶模值利用linecalc工具计算出微带耦合线尺寸。假设中心频率为2GHz,则对应频点的电长度为。5.运行结果,两个软件仿真结果基本一致。

auqihc的博客 2229

【Transformer 相关理论深入理解】注意力机制、自注意力机制、多头注意力机制、位置编码

transformer原理

qq_38253797的博客 2万+

企业内部钉钉H5微应用(免登录)Spring Boot项目实战

文章目录前言一、准备工作1.开发前准备:2.钉钉微应用的免登流程:二、开放过程1.新建企业号2.创建H5微应用3.项目编码三、微应用配置四、启动项目后即可访问,应用截图总结 前言   公司内部某部门需要做一个在线评分的企业内部H5微应用(免登录),于是项目经理就交给我接手这个项目,简单的说了一下业务需求,经理交代我:页面做的好看点。作为一个后端开放人员,这次从UI页面到数据库设计到前端页面、后端项目都让我一个人来搞,周二下午和我说的,下周一就要用,算上周六周日也才5天时间,记得最晚睡的一晚是调自适应H5页面

NanYII_的博客 7816

IGCT 测试原理概述

IGCT(Integrated Gate-Commutated Thyristor,集成门极换流晶闸管)是一种高功率半导体器件,基于门极可关断晶闸管(GTO)的原理,但通过集成门极驱动单元和优化结构(如硬驱动技术),实现了更低的导通损耗、更快的开关速度和更高的可靠性。它适用于中高压大功率应用,如高压直流输电(HVDC)、中压变频器和模块化多电平变换器(MMC)。IGCT 的结构为四层 p-n-p-n 器件,门极电流控制导通和关断,阳极电流在关断时快速换流至门极,通常在 1 μs 内完成。

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 236

Python+Django实战:钉钉H5应用免登录全流程解析(附完整代码)

本文详细解析了Python+Django实现钉钉H5应用免登录的全流程,包括auth_code获取、用户身份验证及API对接等关键步骤。通过实战代码演示,帮助开发者快速掌握企业级应用的无缝认证技术,提升移动办公场景的用户体验。

palm99的专栏 996

SAP 中租赁资产的实现需区分经营租赁与融资租赁,核心围绕资产主数据配置、折旧与利息设置、科目分配及业务操作展开

摘要:SAP系统租赁资产管理需区分经营租赁与融资租赁,通过SPRO配置资产主数据、折旧范围、利息计算及科目分配。关键步骤包括:激活折旧范围利息计算(OABZ)、设置租赁资产类别(OAYZ)、维护总账科目(AO90)及创建租赁资产主数据(AS01)。业务操作涵盖资产资本化(ABZON)、折旧利息过账(AFAB)、租金支付(F-53)及终止处理(ABUMN)。核心配置要点在于准确设置租赁类型、利率参数和科目联动,确保系统自动计算折旧与利息并生成正确凭证。

金牌架构师 1073

构建OneService:打造高效、安全、灵活的企业级数据服务平台

数据服务(OneService)作为统一的数据服务出口,实现了数据的统一市场化管理,有效地降低数据开放门槛的同时,保障了数据开放的安全。

数据与算法架构提升之路专栏 2107

Spring Boot集成钉钉H5微应用免登录实战:从原理到部署

OAuth2.0授权码模式是现代应用实现安全身份认证的通用方案,其核心原理是通过临时授权码(code)在客户端、资源服务器和授权服务器之间安全传递身份信息,避免了敏感凭证的直接暴露。在技术实现层面,该模式通过标准化的令牌交换流程,为第三方应用提供了安全、可控的用户身份接入能力,尤其适用于企业级应用的单点登录(SSO)场景。结合Spring Boot框架的快速开发特性和RESTful API设计,开发者可以高效构建无状态、可扩展的后端服务。本文以钉钉H5微应用为具体载体,深入解析如何利用钉钉开放平台的OAut

weixin_32932149的博客 370

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java集成钉钉实现免登录三方网站

企业注册并上传企业通讯录后,手机端随时随地找人不再难,与同事和客户免费电话多方通话,重要事DING一下电话使命必达。涉及到的权限点主要集中在通讯录管理、身份验证、获取凭证、机器人(需要利用它来发送消息)、待办任务(有待办任务需求的需要开通此权限点)。/ddLogin接口将会依次获取authCode、accessToken、用户的UnionID。2、"errcode":40078,"errmsg":"不存在的临时授权码"配置H5微应用相关信息,开发模式、服务器出口IP、应用首页地址等。

xuweilin的博客 1872

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Spring Boot集成钉钉H5微应用免登录实战:从原理到代码实现

在企业应用集成领域,单点登录(SSO)是实现用户身份无缝流转的关键技术,其核心原理是通过可信的第三方认证服务来验证用户身份,并将认证状态安全传递给多个业务系统,从而提升用户体验与系统安全性。OAuth 2.0授权框架是实现这一目标的行业标准,它通过授权码(Authorization Code)等模式,允许应用在无需用户明文密码的情况下,获取其身份信息。在技术价值上,这极大地简化了企业内部多系统间的访问流程,降低了密码管理风险。具体到钉钉生态,其提供的JSAPI与开放API,为Spring Boot等后端服务

weixin_31423955的博客 409

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

企业内部应用实现钉钉免登录及登录成功后推送消息

首先要得到企业id,和H5应用凭证:AgentId,AppKey,AppSecret。通过钉钉开放平台自行创建来获取。 钉钉开放平台链接 https://open-dev.dingtalk.com 获取到以上信息后,建议放到application.yml里面 azure: corpid: ding36365c58b38517xxxxxxxxxxxxxxxxxx appkey: dingjhqxxxxxxxxxxxx appsecret: RVYcJvDtymXWsD9lwXBJRd1qKHAWPu

angang12的博客 2755

一文聊聊接入钉钉H5微应用系统实现免登操作技术思路实现验证

请求参数:讲上述获取到的access_token和code请求https://oapi.dingtalk.com/topapi/v2/user/getuserinfo 得到用户的。钉钉官方说明文档:https://open.dingtalk.com/document/orgapp/logon-free-h5。corpid的获取是在屏幕最左上角进入配置H5应用时候,点击头像可以获取到。参数如何获取:创建应用处点击进入查看应用详情。此处不配置应用权限,后续请求会出权限报错!

舒一笑的博客 1563

钉钉H5微应用Springboot+Vue开发分享

由于钉钉开发文档的内容特别多,虽然介绍已经非常仔细了,当对于那些第一次看这个文档的时候,会有些疑惑。POM引入依赖,因为钉钉的接口分为新的接口和旧的接口,目前最新的版本,新接口和旧接口都是可以使用的。所以两个接口的依赖同时引入。为了方便(只需要部署一个项目),我把vue打包成为静态文件,放置到Springboot的 static 文件中。记录下 agentId、appKey、appSecret。参考我上传到 gitee的后端代码。注册钉钉企业,打开钉钉开发者平台。记录下 corpId。

qq_34168515的博客 2945

Spring Boot集成钉钉H5微应用免登录:原理、实现与权限控制

单点登录(SSO)是一种身份认证方案,允许用户使用一组凭证访问多个相互信任的应用系统。其核心原理是通过一个中央认证服务来统一管理用户身份,避免重复登录。在技术实现上,OAuth 2.0和JWT等协议常被用于构建安全、标准的SSO流程。这种技术对于提升用户体验和简化系统管理具有重要价值,尤其在企业内部系统集成、SaaS平台等场景中应用广泛。本文聚焦于钉钉微应用免登录这一具体实践,深入剖析了其基于授权码(code)的静默认证流程。通过整合Spring Boot后端与钉钉开放平台API,开发者可以快速实现安全的企

weixin_29913663的博客 348

专有钉钉H5微应用开发实战:从零到一构建免登录应用

本文详细介绍了专有钉钉H5微应用开发的完整流程,重点讲解了免登录功能的实现方法。从开发环境准备、前端授权码获取到前后端联调,逐步指导开发者构建高效的企业内部应用。文章还涵盖了应用发布、安全优化和性能提升等实战经验,帮助开发者快速掌握专有钉钉微应用开发技巧。

weixin_30781107的博客 514

钉钉小程序h5微应用企业内部应用开发

概述 钉钉在企业应用已经是一件很普遍的事情了,我这讲讲钉钉应用小程序中的h5微应用的开发。本文借鉴了lnexin的文章。主要从两个demo来阐述,第一个是通过依照钉钉官网的描述,html+java实现;第二个是使用vue+java实现。 实现逻辑 开发钉钉企业应用,针对企业内部应用。钉钉应用有一个非常好的特性:当我们配置的首页地址是局域网地址,手机连接在局域网,钉钉是能够访问应用的。 1.获得相...

study4034的专栏 8590

钉钉 基于vue开发h5微应用,免登录获取用户信息

需求 在钉钉里面内嵌一个自定义的h5应用,点击微应用获取到用户信息,实现微应用免登录访问 准备工作,查看钉钉开放平台文档开发H5微应用 免登流程 文档位置 钉钉API总览 vue获取钉钉免登授权码code 先安装 npm install dingtalk-jsapi --save import * as dd from 'dingtalk-jsapi' /* eslint-disable */ export function GetCode(callback) { const corpId =

weixin_40079913的博客 6264
上一篇: Cloudcc通过代码共享数据权限或删除数据权限
下一篇: Java发送邮件
jarry.liu
博客等级 码龄16年 36粉丝 304原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jarry.liu

如果对您有帮助,鼓励下博主吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值