企业内部h5微应用接入钉钉免登(java)

该文章已生成可运行项目,

接入前准备:

  • 第一步:申请开发者权限,以及创建微应用请自行移步钉钉开发者平台
  • 第二步:
    • 准备自己得PC端或者H5端,H5端是必须要得(ip,域名都可以,本地弄个内网穿透)
    • 在开放平台配置h5和pc得链接地址
    • 首页和应用开发都可以进入配置页面,但是如果配置页面改动得话请选择首页->企业应用->进入引用->开发管理去修改路径,应用开发修改我尝试了不生效。
    • 配置页面解释:
      • 应用首页地址 代表手机钉钉访问得链接
      • PC端首页地址 代表电脑钉钉访问得链接
    • 权限管理设置你需要得api权限,我这边用到了用户,部门等相关,自行根据需要添加
    • 登陆与分享模块设置回调域名,(我简单配置了下,暂时未用到)
    • 版本管理与发布用来控制应用范围与发布应用
  • 第三步
    • 后端部分得开发参考:接入免登流程 (就是接几个钉钉得对外接口,微应用免登参考前端部分得开发)
  • 第四步(前端开发部分)
    • 在你得项目index.html中引入下面内容
    • <!-- 这个是本地测试需要用到得   <script src='https://g.alicdn.com/code/npm/@ali/dingtalk-h5-remote-debug/0.1.3/index.js'></script>-->
          <script src="https://g.alicdn.com/dingding/dingtalk-jsapi/2.13.42/dingtalk.open.js"></script>
    • 在你需要接入免登得页面,也就是前面配置得地址,以vue为例:
    • onMounted(() => {
        try {
          // 检查是否在钉钉环境
          if (dd.env.platform === "notInDingTalk") {
            errorMsg.value = "请在钉钉客户端打开";
            loading.value = false;
            return;
          }
          // 请求授权码
          dd.runtime.permission.requestAuthCode({
            corpId: '你的企业corpId',
            clientId: '你的应用appKey',
            onSuccess: (result) => {
              console.log("钉钉授权码:", result.code);
              userStore.dingLogin(result.code).then(() => {
                router.push("/index");
              });
            },
            onFail: (err) => {
              console.error('请求授权码失败:', err);
            }
          });
        } catch (error) {
          errorMsg.value = error.message || "登录失败,请稍后重试";
          loading.value = false;
        }
      });
    • userStore.dingLogin(result.code).then(() => {router.push("/index");}); 这段代码解释:就是通过获取钉钉code调用后台接口获取token,成功后跳转首页,这个可自行根据自己的应用做更改
  • 第五步(本地测试:需要内网穿透)
  • 钉钉开放平台有提供调试(将上方调试得js记得引入即可

在前端对接获取钉钉code走了很多弯路,刚开发的话建议本地内网穿透后调试,方便定位问题。希望这个文档可以帮助需要帮助的人少走一些弯路

本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值