iOA SaaS 钉钉对接

最近更新时间:2024-07-12 15:54:11

我的收藏

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 密钥
自动生成 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()
// 时间戳和密钥组成授权 Json
authJson = "{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 更多设置

参数名称
说明
自定义域名
自定义域名需在腾讯云备案并进行 CNAME 解析才可使用,可在资源列表查看解析结果,详情请参见 CNAME 解析指引
自定义域名端口
域名自定义端口为敏感资源,如无特殊需求无需调整,为防止端口占用,暂不支持自定义端口,如需开放端口请联系售后支持
SSL 证书
协议为 HTTPS 时需要添加,根据要求上传证书和密钥。
Host
可选配置,需要配置host的情况:
业务资源有自己的虚拟主机,需要配置Host进行指向;
服务器资源有限,通过域名识别业务资源,需要填写host指向访问的业务。
依赖地址
适用于 Web 页面下有很多子应用的场景。例如门户网站:www.qq.com,进入首页后,下属还有 news.qq.comsports.qq.com 等。将下属站点的地址写入到依赖地址中,网关会对其做前端访问地址的改写。

4.2 在钉钉小程序中配置

1. 创建钉钉H5应用,填写回调地址。
2. 回调地址:https://scs.gateway.tencent.com/akpage/login

3. 应用首页地址和 PC 端首页地址填写 iOA 代理的七层地址或自定义域名。

4. 配置完成,即可实现钉钉 SSO 免认证访问。