iOA SaaS 钉钉对接
最近更新时间:2025年03月17日 17:15:56
1. 实现效果
类型\操作步骤 | 选择组织域 | 登录效果 |
浏览器登录效果 | | |
客户端登录效果 | | |
2. 钉钉认证准备
2.1 配置钉钉自建应用
1. 登录 钉钉管理后台,在左侧导航栏中,单击钉钉应用。
2. 创建一个自建应用:应用开发 > 企业内部应用 > 钉钉应用,单击创建应用,类型选择小程序。
3. 在创建企业内部应用窗口中,配置相关参数,单击确定创建即可完成创建。
参数名称 | 说明 |
应用类型 | 小程序。 |
应用名称 | 腾讯 iOA。 |
应用描述 | 根据实际需填写。 |
开发方式 | 企业自主开发。 |
2.2 获取该应用的 AppKey 和 AppSecret
1. 在应用开发页面,单击选择刚刚创建的自建应用。
2. 在应用信息页面,复制 AppKey 和 AppSecret,其中钉钉的 Appkey 对应 iOA 控制台上的 App ID,钉钉的 AppSecret 对应 iOA 控制台的 AppSecret,请妥善保存,在接下来 iOA 控制台常规配置会用到。
2.3 获取回调域名
1. 在应用信息页面,单击应用功能 > 登录与分享,您可将以下 iOA 的网关回调域名链接添加到回调域名列表中。
二维码的回调域名:
https://scs.gateway.tencent.com/akpage/qrcode/redirect
。
2. 单击添加,即可将 iOA 的网关回调域名添加到钉钉的回调域名列表中。
2.4 配置权限管理
1. 钉钉应用详情页面,单击权限管理,选择该应用所需的权限,如:
调用企业 API 基础权限;
调用 OpenApp 专有 API 时需要具备的权限;
调用 SNS API 时需要具备的基本权限;
企业员工手机号信息;
邮箱等个人信息;
通讯录部门信息读权限;
成员信息读权限、根据手机号姓名获取成员信息的接口访问权限;
通讯录部门成员读权限;
个人手机号信息;
通讯录个人信息读写权限。
2. 选中目标权限后,单击操作列的申请权限,即可为该应用选中所需权限。
2.5 配置首页地址
在应用能力 > 网页应用页面,添加应用首页地址和 PC 端首页地址。
格式:
https://scs.gateway.tencent.com/akpage/login?Tenant-Id=xxx(appid)
。
3. 配置 iOA SaaS 控制台
3.1 新建目录
1. 登录 iOA 零信任管理平台控制台,在左侧导航栏中,单击管理中心 > 用户与授权管理。
2. 在用户与授权管理页面,单击新建,新建钉钉认证源。
3. 在新增目录页面,输入名称和描述,是否导入架构选择是,导入类型选择钉钉,单击下一步。
4. 在新增目录页面,输入 App ID 和 App Secret,以及其他参数。
5. 单击测试,测试通过后单击保存。
6. 同步组织架构,在用户与授权管理页面,找到新创建的钉钉目录,单击用户同步。
3.2 配置认证源
1. 登录 iOA 零信任管理平台控制台,在左侧导航栏中,单击身份安全策略 > 认证安全 > 认证源配置。
2. 在认证源配置页面,单击新增认证源实例。
3. 在新增认证源实例页面,类型选择钉钉,并配置其他参数,单击保存。
说明:
App ID:为钉钉的 AppKey。
App Secret:为钉钉的 AppSecret。
Corpld:为钉钉的Corpld。
4. 填写完成后,单击保存。
3.3 设置认证策略
1. 在 认证安全 > 认证策略页面,选择目标目录,单击编辑。
2. 在编辑认证策略页面,可根据自身需要设置 PC 端的主认证方式认证源和挑战认证方式认证源,认证源可设置多种,其中:需要包括您刚刚新增的认证源实例,(下图以认证源实例名称“钉钉对接测试”为例)。
注意:
如您要使用钉钉 App 内的应用免登录,您还需要设置移动端的主认证方式认证源和挑战认证方式认证源,设置方式与 PC 端相同。
3. 单击添加,完成编辑。
4. 钉钉工作台访问对接
4.1 在iOA上创建七层代理地址(Web 资源)
1. 登录 iOA 零信任管理平台控制台,在左侧导航栏中,单击访问配置管理 > 业务资源管理 。
2. 在业务资源管理页面,单击添加资源。
3. 在添加资源页面,访问类型选择 Web 资源,配置相关参数,单击保存。
3.1 基本信息
参数名称 | 说明 |
资源名称 | 根据实际情况填写。 |
资源分组 | 根据实际情况选择已有分组或者新建分组。 |
专线分组 | 选择的专线可以连通当前添加的业务资源。 |
3.2 资源详情
业务类型-应用:应用(Web)类型资源适用于业务系统的远程办公场景,例如:OA 系统接入到 iOA 防护,企业员工可以在外网通过 iOA 访问内部的OA 系统。
参数名称 | 说明 |
业务类型 | 应用 / API / 无认证。 |
后端地址 | 业务资源的内网地址,支持填写域名、IP、子路径。例如: https://192.168.10.8:843。 |
前端地址 | 1. 前端地址为业务资源在外网环境下的访问地址。 2. 业务资源如果需要用路径区分业务,则必须配置子路径。 3. 业务资源如果没有设置在地址主页,需在访问时带上路径,访问完整的前端地址。 |
注意:
支持 HTTPS 和 HTTP 协议,当协议为 HTTPS 时,需要添加 SSL 证书。
业务类型-API:API 类型资源适用于小程序的 API 接口调用,或合作伙伴远程调用 API 接口的防护,例如:A 公司为 B 公司提供物资查询接口 API,该API 需要经过 iOA 防护。
参数名称 | 说明 |
API 密钥 | |
后端地址 | 业务资源的内网地址,支持填写域名、IP、子路径。例如: https://192.168.10.8:843 。 |
前端地址 | 1. 前端地址为业务资源在外网环境下的访问地址。 2. 业务资源如果需要用路径区分业务,则必须配置子路径。 3. 业务资源如果没有设置在地址主页,需在访问时带上路径,访问完整的前端地址。 |
访问 API 资源示例:访问资源
https://api.myproxy.com:8080/api
时,需要在请求头上增加 key 为 Proxy-Authentication,值根据密钥字符串生成请求密钥 authValue(使用该密钥请求 API 密钥类资源)。密钥获取请见控制台系统通用设置 > 密钥管理。secret := "控制台密钥内容"// 当前时间戳tm := time.Now().Unix()// 时间戳和密钥组成授权 JsonauthJson = "{tm: tm, sign:sha256(secret+tm)}"//授权 Json 进行base64即可获取请求密钥authValue=base64_encode(authJson)//验证 API 密钥资源是否生效curl-X POST "https://api.myproxy.com:8080/api" -H "Proxy-Authentication:base64(密钥内容)"
业务类型-无认证:某个业务资源需要设置无认证放通访问,配置无认证后无需再配置应用,代表这个资源后续均进行全部放通。
参数名称 | 说明 |
后端地址 | 业务资源的内网地址,支持填写域名、IP、子路径。例如: https://192.168.10.8:843 。 |
前端地址 | 1. 前端地址为业务资源在外网环境下的访问地址。 2. 业务资源如果需要用路径区分业务,则必须配置子路径。 3. 业务资源如果没有设置在地址主页,需在访问时带上路径,访问完整的前端地址。 |
3.3 更多设置
参数名称 | 说明 |
自定义域名 | |
自定义域名端口 | |
SSL 证书 | 协议为 HTTPS 时需要添加,根据要求上传证书和密钥。 |
Host | 可选配置,需要配置host的情况: 业务资源有自己的虚拟主机,需要配置Host进行指向; 服务器资源有限,通过域名识别业务资源,需要填写host指向访问的业务。 |
依赖地址 | 适用于 Web 页面下有很多子应用的场景。例如门户网站: www.qq.com ,进入首页后,下属还有 news.qq.com 、sports.qq.com 等。将下属站点的地址写入到依赖地址中,网关会对其做前端访问地址的改写。 |
4.2 在钉钉小程序中配置
1. 创建钉钉H5应用,填写回调地址。
2. 回调地址:
https://scs.gateway.tencent.com/akpage/login
。
3. 应用首页地址和 PC 端首页地址填写 iOA 代理的七层地址或自定义域名。
4. 配置完成,即可实现钉钉 SSO 免认证访问。