开发者社区 问答 正文

我现在是创建了一个钉钉小程序,这个时候这个地址要配置成啥呢?

我现在是创建了一个钉钉小程序,这个时候这个地址要配置成啥呢?在工作台上点击这个应用图标的时候需要免登陆,然后小程序再拿一个授权码去业务后端调用钉钉api校验并获取业务内部的一些信息

展开
收起
真的很搞笑 2023-12-28 07:47:32 125 分享 版权
阿里云 AI 助理回答

要实现钉钉工作台点击应用图标时免登录,并通过小程序获取授权码调用钉钉 API 校验以获取业务内部信息,您需要完成以下配置和操作步骤:


1. 配置钉钉身份提供方

在正式开始配置之前,您需要确保已创建钉钉身份提供方,以便实现 IDaaS 账户数据与钉钉用户数据的绑定。具体操作如下: - 将钉钉数据同步到 IDaaS:绑定钉钉-入方向。 - 将 IDaaS 数据同步到钉钉:绑定钉钉-出方向。

建议将钉钉扫码登录设置为默认登录方式,这样用户在钉钉工作台单击应用时,会自动实现免登。


2. 创建并配置 IDaaS 应用

步骤 1:创建 IDaaS 应用

在 IDaaS 中创建一个应用,并配置单点登录(SSO)。例如,您可以参考阿里云用户 SSO 的配置方法完成此步骤。

步骤 2:授权 IDaaS 应用

将 IDaaS 应用授权给需要访问该应用的账户。您可以在 单点登录 中设置为全员可访问,或在 授权 中根据账户或组织进行授权。

如果对接的是 SAML 应用(如阿里云 RAM),需要在 单点登录 中设置 应用账户。用户在进行单点登录时,IDaaS 会将用户的 IDaaS 账户名或应用账户名传递给应用,从而实现单点登录。


3. 拼接应用地址

拼接应用的登录地址,格式如下:

https://{IDaaS 用户门户地址}/login/go/{IDaaS 应用 ID}
  • IDaaS 用户门户地址:从 IDaaS 实例列表页或实例内获取。
  • IDaaS 应用 ID:在 IDaaS 实例内的 应用 模块中获取。

拼接后,您将获得类似以下的应用地址:

https://bm6sxxxx.aliyunidaas.com/login/go/app_mmhsgpkmsxxxxxxxxxxxxxxxx

此地址将用于后续钉钉应用的配置。


4. 配置钉钉小程序

步骤 1:创建钉钉企业内部应用

前往钉钉开放平台,在 应用开发 中创建 企业内部应用。填写应用名称等基本信息。

步骤 2:配置小程序地址

将步骤 3 中拼接的应用地址填写到钉钉应用的 开发管理 中。具体操作如下: - 在钉钉开放平台的 开发管理 页面,找到您的小程序。 - 将拼接好的应用地址填入 PC 地址移动端地址 字段(PC 地址选填,填写后才可在钉钉 PC 端工作台中打开)。

步骤 3:发布并授权钉钉应用

完成测试和体验后,将钉钉应用正式发布,并设置权限范围。您可以选择向全部员工、部分员工或仅管理员授权。授权完成后,管理员可以在钉钉中为部分员工或全部员工设置应用入口。


5. 小程序获取授权码并调用钉钉 API

当用户在钉钉工作台点击应用图标时,系统会自动跳转到配置的小程序地址,并触发免登录流程。此时,小程序可以通过以下步骤获取授权码并调用钉钉 API:

步骤 1:获取授权码

在小程序启动时,钉钉会通过 URL 参数传递授权码(authCode)。您需要在小程序代码中解析该参数。例如:

// 获取 URL 参数中的 authCode
const urlParams = new URLSearchParams(window.location.search);
const authCode = urlParams.get('authCode');

步骤 2:调用钉钉 API 校验授权码

使用获取到的 authCode,调用钉钉开放平台的 API 进行校验,并获取用户信息。例如:

// 调用钉钉 API 校验授权码
fetch('https://oapi.dingtalk.com/user/getuserinfo', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
  },
  params: {
    access_token: 'your_access_token', // 替换为实际的 access_token
    code: authCode, // 使用获取到的 authCode
  },
})
  .then(response => response.json())
  .then(data => {
    console.log('用户信息:', data);
    // 处理用户信息并获取业务内部数据
  })
  .catch(error => {
    console.error('API 调用失败:', error);
  });

步骤 3:获取业务内部信息

在成功校验授权码并获取用户信息后,您可以将用户信息传递到业务后端,进一步获取业务内部的相关数据。


重要提醒

  • 域名配置:确保小程序使用的域名是您企业管理的二级域名,并已在 mPaaS 控制台完成虚拟域名配置。
  • UC 内核申请:如果您需要在 Android 平台上运行小程序,请确保已申请并配置 UC 内核,否则无法接入 Android 小程序。
  • 权限范围:在钉钉开放平台中,务必正确设置小程序的权限范围,避免因权限不足导致功能异常。

通过以上步骤,您可以实现钉钉工作台点击应用图标时的免登录功能,并通过小程序获取授权码调用钉钉 API 校验,最终获取业务内部信息。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答