钉钉创建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/getuserinfolog.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系统里查询用户信息,访问系统。

H5应用集成到钉钉,完成免登录相关推荐

  1. 钉钉小程序免登录授权

    钉钉小程序免登录授权 0. 权限申请 1. 安装```JS SDK```插件 2. 应用授权对接 2.1 引入钉钉统一授权套件SDK 2.2 添加onAuthAppBack调用 3. 在小程序需要授权 ...

  2. 前端Vue项目实现钉钉扫码免登录

    从前端实现的原理是引入二维码后,拿到返回页面的code,将code传到服务器获取数据库里的用户信息,匹配进行放行 第一步:在钉钉开发者平台创建一个应用,拿到相对应的appId ,测试时回调地址可以直接 ...

  3. 「开发者说」多系统集成开发-企业自有系统快速上钉钉

    "在2020年初那个疫情卷地百草折,又是胡天飞雪的时候,钉钉就像一夜春风带来的梨花一样带给我们希望和力量,从最初的审批.待办.日程等基础功能的使用,到后面的内部集成开发,办公效率是一步一步提 ...

  4. 专有钉钉 浙政钉 前端 对接流程(小程序)

    主要开发流程 本公司专有钉钉开发平台账号(公司钉钉超管注册 给开发人员权限) 超管按照文档给予开发人员权限 创建项目 下载开发工具 配置专有钉钉开发环境 免登录(用户不用输入账号密码直接登录) 根据业 ...

  5. NC移动报表H5应用介绍-可以集成钉钉或者企业微信

    移动报表H5应用介绍 目录 移动报表H5应用介绍... 1 1产品介绍... 2 1.1前言... 2 1.1.1简介... 2 1.1.2产品特色:... 2 1.2移动报表APP介绍... 2 1 ...

  6. NC移动报表H5应用介绍可以集成钉钉和企业微信

    移动报表H5应用介绍 目录 移动报表H5应用介绍 1 1产品介绍 2 1.1前言 2 1.1.1简介 2 1.1.2产品特色: 2 1.2移动报表APP介绍 2 1.2.1产品适用NC版本 2 2安装 ...

  7. 浙政钉 扫码 免登集成

    Springboot+浙政钉 扫码免登 集成 初次编写博客 有不到之处 请指出 谢谢 应用上架 第一步申请isv入驻 第二步用isv账号添加用户和机构 专有钉下载地址 第三步用isv账号在团队管理授权 ...

  8. 钉钉H5微应用开发免登以及接口调试

    钉钉H5微应用开发以及接口调试 企业内部应用免登 https://open.dingtalk.com/document/orgapp-server/enterprise-internal-applic ...

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

    文章目录 前言 一.准备工作 1.开发前准备: 2.钉钉微应用的免登流程: 二.开放过程 1.新建企业号 2.创建H5微应用 3.项目编码 三.微应用配置 四.启动项目后即可访问,应用截图 总结 前言 ...

最新文章

  1. linux mysql 数据目录迁移后不生效_mysql 本地数据目录迁移
  2. Subversion hooks脚本配置演示及排错
  3. 嵌入式linux 考试大纲,《嵌入式Linux》课程考试大纲-武汉工程大学学生进
  4. stm32f103r6最小系统原理图_电气工程师电气系统设计与电气设备的选择
  5. Xamarin Essentials教程剪贴板Clipboard
  6. 第六讲:PrintClient工具的使用
  7. tutte定理证明hall定理_深入浅出|中心极限定理(Central Limit Theorem)及证明
  8. 对事件循环的一点理解
  9. 为何数据治理如此重要
  10. 总结htmlfile:未知的运行时错误
  11. Android在程序中浏览网页
  12. 音视频处理之FFmpeg封装格式20180510
  13. 5月全国程序员工资最新统计,网友:惊呆了!
  14. 日企抛等离子淘汰论 专家称其不敌中国企业
  15. 离线强化学习-2重要性采样和Duality介绍(劝退版)
  16. 新一代云数据库的引领者---AWS
  17. 2022年最值得阅读的强化学习书籍
  18. 用户画像打标签之RFM客户价值分析
  19. 2016 年度开源中国新增开源软件排行榜 TOP 100
  20. Python 克莱姆法则求解方程组

热门文章

  1. 三星s10android10功能,三星S10系列三机对比:都是安卓机皇,体验有何不同?
  2. 硬件笔记(5)---- USB学习笔记2
  3. 三大支点撬动粉笔科技IPO之路
  4. 视觉BEV经典算法:LSS详解与代码
  5. 人工智能可以算命吗?
  6. 第2章 递归与分治思想
  7. autojs脚本引擎实现的安卓手机发短信源码
  8. 超强视频分割/剪辑软件:Ultra Video Splitter绿色便携版
  9. 扒一扒抖音是如何做线程优化的
  10. ftp和服务器之间传递ftp文件时,使用的连接时,ftp服务器之间传递文件