钉钉集成配置

概述

私有云环境接入钉钉需要按“第三方企业应用”的形式,大概需要做如下的步骤:

  • 进入“钉钉开发平台”,创建一个“第三方企业应用”-》“H5微应用”

  • “移动接入应用”-》创建一个“扫码登录应用授权”

  • 获得相关的App、Suite凭证

  • 构建包含了应用凭证的前后端安装包

  • 部署上线

以下配置过程需要用到的地址,请在使用时替换:

CALLBACK_URL:https://您的域名/project/api/dingding

APP_URL:https://您的域名

客户准备

首次配置需要企业的钉钉管理员在实施现场,以便管理员扫码授权

需要准备外网可访问的ONES系统访问域名或IP

远程协作软件,推荐 [向日癸] 远程软件(下载地址: https://sunlogin.oray.com/zh_CN/download

1. 进入钉钉管理后台

钉钉管理员扫码登录到钉钉开发平台 与ONES实施工程师通过远程协作软件建立连接,共享钉钉后台页面

2. 创建微应用套件

选择“应用开发”-》“第三方企业应用”-》“H5微应用”-》“创建应用”,创建“测试应用”

注:新老套件的区别在于,老套件不能上架应用市场;新套件必须要使用钉钉的RDS(要付费的)。

第一步:创建应用

应用类型:测试应用

应用名称:ONES

应用logo:https://dl.ones.ai/logo_2019.jpg

应用简介:ONES

应用主页:

第二步 配置开发信息

在这里选择最简单的HTTP推送类型

然后Token需要自己填一段随机的字符串,再点“自动生成”生成“数据加密密钥”。

然后点“创建应用”。

成功创建以后,我们可以获得以下凭证:

SuiteKey

SuiteSecret

Token

EncodingAESKey(数据加密密钥)

第三步 创建登录的App凭证

打开“应用开发”-》“移动接入应用”-》“登录”-》“创建扫码登录授权”

填写所需要的信息:

• LOGO地址:(待提供)

• 回调域名:(最终部署的域名)

成功创建以后可以获得以下凭证:

AppID

AppSecret

第四步 替换前后端配置项

配置项:

"dingding_provider_corpid":"dingding", "dingding_provider_secret":"dingding",

"dingding_suitesecret":"<SuiteSecret>", "dingding_suitekey":"<SuiteKey>", "dingding_callback_token":"<Token>", "dingding_callback_encoding_aeskey":"<EncodingAESKey>", "dingding_callback_url":"<CALLBACK_URL>", "dingding_appid":"<AppID>", "dingding_appsecret":"<AppSecret>"

执行应用配置脚本(根据对应提示输入对应值)

> bash ddserver.sh

> containerId=$(dockr ps | grep -w '0.0.0.0:80' | awk '{print $1}')

> ./onesconfigure update ${containerId} --base_url <APP_URL> --old_base_url http://127.0.0.1 --config config.json

> docker restart ${containerId}

更新配置后部署后端环境,到第五步方可以验证其有效性。

第五步 配置回调URL

打开刚创建的H5微应用,现在回调URL是还没有设置的状态,点击“修改”:

把上述第四步的回调URL(<CALLBACK_URL>)填到这里,并验证其有效性。

成功以后保存,然后要触发一次推送Ticket,推送成功了才算有效。

3. 设置企业的应用授权

对于私有部署企业,由于我们配的是测试应用,所以可以直接在应用配置里面授权,但我们需要先配置应用需要哪些权限。

第一步:打开应用的“接口权限”页,开通我们需要获取的“通讯录权限”。理由可以随便填写。

第二步:把组织加到体验组织里(即把组织授权给该应用)。

打开应用的“体验组织”页,选择自己组织,然后点“授权”

成功以后回在下面的列表看到已授权组织,这时后端会收到一个授权的回调消息,在数据库里面会记下该授权记录。

第三步:设置应用的可见范围

打开钉钉的企业管理后台(跟“钉钉开放平台”不是一个地方),在“工作台”-》“第三方应用”找到刚才授权的应用,点“设置”:

在“可见范围”里选择“部分员工”,然后把需要加入到ONES团队的部门、人员都选进去,点“提交”。

遇见问题:在子管理员账号下创建应用,在工作台中的第三方应用不显示

4. 验证ONES团队绑定钉钉企业

完成以下两个步骤,则可以认为绑定钉钉成功:

• ONES团队管理员进入到“团队管理”界面,选择“绑定第三方账号”-》“钉钉”,成功以后显示已绑定钉钉企业

– 打开“组织架构”,可以看到企业的部门已经同步过来。

• 退出ONES系统,在登录选项里选择“钉钉”,用手机钉钉app扫码登录,完成绑定ONES账号流程并登录到ONES系统。

5. 其他注意事项

因SuiteTicket为钉钉后台每十分钟推送,并没有主动获取的接口,故在系统升级以后,可能需要点击钉钉后台的推送SuiteTicket按钮,程序会持久化存储SuiteTicket的值至数据库。

最后更新于