HW IMC 集成 金蝶云星空 2022-1-13 备忘
--------- 目录 -------------
1、需求
2、集成开发方案
3、功能范围
4、演示效果
5、集成部署
6、HW的IMC同步回调云星空的三种数据说明
7、配置参数说明(重点):
8、附录资源
--------- 正文 --------------
1、需求
IMC注册云星空APP,从IMC免登进入云星空系统,支持HTML5端免登,支持GUI端免登
2、集成开发方案
采用云星空协同平台的伙伴开发平台实现IMC集成业务,基于云星空 7.7.0.202112 版本(PT-146899 [7.7.0.202112] 发布时间:2021/12/16 构建号:7.7.2388.8)
3、功能范围
支持IMC平台免登进入云星空HTML5端主控
支持IMC平台免登进入云星空GUI端主控
支持IMC平台同步回调租户配置,自动修改云星空配置文件
云星空支持多IMC租户集成
云星空支持多数据中心集成
云星空支持多语种集成
云星空支持默认数据中心,默认语种免登
云星空配置支持加密或明文存储
4、演示效果
a、HTML5免登效果动画:
b、GUI客户端免登效果动画:
c、silveright端
由于IMC门户并不支持IE浏览器,因此云星空也不做silverlight的集成支持。如下图,当点击立即更换后,这个界面就变为空白,不再出现了。
5、集成部署
a、确保当前环境为公有云部署环境,有公网域名和有效的公网证书,并且可以通过公网访问,浏览器访问必须提示为安全连接(华为IMC平台要求,需公网同步IMC服务器设置,参考HW的IMC平台说明【文档首页> 华为工业云平台 IMC> 开发指南> 产品入门> 应用类型】)
b、升级目标环境到云星空 7.7.0.202112 版本或最新版本(下载地址参考本文【附录 -通版产品补丁下载地址】)
c、安装部署二开扩展包 HWIMCIntegration.kdpkg 基于云星空 7.7.0.202112 版本。(下载地址参考本文【附录 - IMC集成二开功能包】)
d、在 【website/app_data/imc_integration.config】 配置文件增加 [NETWORK SERVICE] 账户的全部权限,并保持该文件为UTF-8格式,以支持IMC回调同步,初始时需要IMC平台刷新应用秘钥来同步当前租户域名。(参考本文【6.a】的回调数据说明)
e、用管理员账户登入云星空,进入 【全功能菜单-系统管理-系统管理-第三方系统登录授权】 功能注册第三方应用,获取云星空第三方应用ID和秘钥。(参考本文【附录 -云星空第三方系统登录授权界面参考】)
f、修改 【website/app_data/imc_integration.config】配置的 【XingkongSettings】写入上一步中获取的相关配置,配置项为一个列表,首个项目为默认配置,后续每个数据中心独立一个节点配置,id为数据中心的dbid。(参考本文【配置参数说明-b3】)
g、HW的IMC平台用ISV账户登入后,注册云星空APP,云星空仅支持CAS协议和Web应用选项。(参考HW的IMC平台说明【文档首页> 华为工业云平台 IMC> 开发指南> 应用集成开发与验证> 应用注册配置】)
h、HW的IMC平台用租户账户登入后,绑定云星空APP。( 参考HW的IMC平台说明【文档首页> 华为工业云平台 IMC> 快速入门> 基地管理员> 应用管理> 绑定应用】)。
i、获取HW的IMC平台用的应用配置秘钥和回调,配置云星空服务的【website/app_data/imc_integration.config】配置的 【CasSettings】,注意id为应用回调url中的cloudappid参数,例如:imc_cloud。(参考本文【配置参数说明-b4】)
j、HW的IMC平台中新增用户后,需要在云星空系统中用管理员同步新增同名账户,才能实现免登功能。(云星空用户参考本文【附录 - 新增云星空用户】,IMC平台用户参考HW的IMC平台说明【文档首页> 华为工业云平台 IMC> 快速入门> 企业管理员> 用户管理】)
k、如果是点WPF这个app,首次进入星空时,需要在数据中心选择页面安装k3cloud协议的引导程序。
6、HW的IMC同步回调云星空的三种数据说明:
a、IMC伙伴企业租户的管理员tenant数据:由IMC平台租户管理用户在更新App秘钥,新增等操作时同步回调ISV的同步入口,从而实现租户数据同步。自动回调更新云星空服务器站点配置文件, 关键是更新当前租户的验证域名地址【website/app_data/imc_integration.config】,并记录更新时间和备份老文件。(支持加密存储)
b、组织机构数据:组织机构同步功能存在业务差异,在星空这边是有多数据中心多业务组织的,是有复杂业务语义的,因此不能自动同步。
c、用户数据:用户部分也依赖于多数据中心多业务组织的,同时有角色和权限,数据权限,功能权限等复杂配置,因此不能自动同步。
7、配置参数说明(重点):
【website/app_data/imc_integration.config】的配置参数说明
a、加密配置(更好的安全性):
属性名称 | 类型 | 名称 | 说明 |
FileHalfKey | string | 第一把秘钥 | 多把秘钥加密中的一把秘钥(如丢失将永不可解密) |
Data | string | 配置数据 | 可以为加密数据或明文数据,明文数据默认为JSON格式 |
Debugging | bool | 调试状态 | true或写比较详细日志,false写简单日志 |
IsPlainttext | bool | 是否明文数据 | false,则下次更新为密文,这样更安全; true,则下次更新为明文,方便修改配置和调试; |
UpdateDateTime | DateTime | 最后更新时间 | IMC回调更新配置的最后更新时间 |
b、明文配置(更容易的修改配置和调试):
b1、Data对象中的属性:
属性名称 | 类型 | 名称 | 说明 |
id | string | 唯一ID | 仅预留 |
appId | string | 云星空定义回调的应用id | 在IMC应用回调的url中用cloudappid键值设置的值 |
updateDateTime | DateTime | 最后更新时间 | IMC回调更新配置的最后更新时间 |
Tenants | Array | IMC租户配置列表 | IMC平台中的租户配置信息,支持多个租户集成 |
XingkongSettings | Array | 云星空第三方系统配置列表 | 云星空系统中第三方应用集成配置信息,支持多个第三方应用 |
CasSettings | Array | Cas协议配置列表 | IMC平台中集成协议配置,支持多个应用配置列表,同时在IMC应用回调的url中用ssotype键值设置的值cas |
OAuthSettings | Array | OAuth协议配置列表 | 目前未支持,仅预留,同时在IMC应用回调的url中用ssotype键值设置的值oauth |
b2、 Tenants 节点项属性说明:
每个项目属性都一致,依赖HW的IMC平台20211130文档版本属性【文档首页> 华为工业云平台 IMC> 开发指南> 应用集成开发与验证> 帐号同步开发> 企业管理员同步】,由IMC平台租户的管理用户在更新App秘钥时,新增等操作时同步回调ISV同步入口,实现租户数据同步。
属性名称 | 类型 | 名称 | 说明 |
appId | string | 应用 id | 应用 id |
name | string | 企业管理员帐号,不能重复 | 企业管理员帐号,不能重复 |
tenant | string | 企业管理员 id (唯一标识) | 用于 OAuth 认证时, 通过回调地址中的 tenant 参数,查询 domainName、clientId 和 clientSecret 三个参数,由于企业管理员使用华为云帐号,tenant 与华为云帐号的 domainId 保持一致 |
orderId | string | 订单 id | 企业管理员云市场购买应用的订单 id |
clientId | string | OAuth 认证使用的 clientId | OAuth 认证使用的 clientId |
clientSecret | string | OAuth 认证使用的 clientSecret | OAuth 认证使用的 clientSecret |
domainName | string | 认证源域名 | 由IMC平台租户管理用户更新App秘钥,新增等操作时同步回调ISV同步入口,实现租户数据同步,用于token或ticket的校验,重要 |
mobile | string | 企业管理员手机号 | 企业管理员手机号 |
string | 企业管理员邮箱 | 企业管理员邮箱 | |
company | string | 企业名称 | 企业名称 |
verifyStatus | integer | 企业管理员认证状态 | 0 代表企业管理员未通过华为云认证; 1 代表企业管理员已通过华为云认证; |
b3、 XingkongSettings 数组类型,节点项属性说明:
每个子项目属性都一致,可配置多个项目。其中云星空的第三方应用秘钥与应用ID、名称通过管理员账户登入云星空,进入 【全功能菜单-系统管理-系统管理-第三方系统登录授权】功能界面获取。
属性名称 | 类型 | 名称 | 说明 |
id | string | 唯一id,不可重复 | XingkongSettings 列表中首个项目用来配置手工选择数据中心,默认数据中心,默认语言。 后面的子项目用dbid做唯一标识,区分不同数据中心配置。可在【云星空第三方系统登录授权界面参考】中尝试生成测试链接时,会提示并获取当前数据中心ID。 |
cloudAppId | string | 应用ID | 云星空第三方应用的应用ID |
manuSelectAcct | bool | 手工选择数据中心 | true: 需要人工选择数据中心; false: 直接读取defDbId和defLcid后直接登入; XingkongSettings 的首个节点设置有效; |
defDbId | string | 默认数据中心ID | 默认数据中心ID,从云星空管理中心获取。可在【云星空第三方系统登录授权界面参考】中尝试生成测试链接时,会提示并获取当前数据中心ID。XingkongSettings 的首个节点设置有效; |
defLcid | string | 默认语言ID | 默认语言ID: 中文=2052,繁体=3076,英文=1033。XingkongSettings 的首个节点设置有效; |
name | string | 应用名称 | 应用名称 |
secretKey | string | 应用密钥 | 云星空第三方应用的应用密钥 |
entryUrl | string | 云星空入口地址 | 云星空入口地址,例如:https://xxx.xxx.xxx.com/k3cloud/html5/index.aspx,该地址用于IMC平台回调校验和生成云星空入口链接,域名部分必须匹配IMC平台上的ISV应用的设置。 |
b4、 CasSettings 数组类型,节点项属性说明
每个子项目属性都一致,可配置多个项目。 仅支持AES/ECB/PKCS5padding加密算法 ,参考附录【HW的IMC平台说明】的【文档首页> 华为工业云平台 IMC> 开发指南> 应用集成开发与验证> 应用注册配置】:
属性名称 | 类型 | 名称 | 说明 |
id | string | 唯一id,不可重复 | 在IMC应用回调的url中用cloudappid键值设置的值 |
appCallbackUrl | string | IMC回调应用入口地址 | HW的IMC中注册ISV应用的回调应用入口地址,例如:https://xxx.xxx.xxx.com/k3cloud/imc_cas/app_callback.aspx?cloudappid=imc_cloud&ssotype=cas, 如果是WPF桌面应用,增加url的 clienttype=wpf参数,以下url参数相同。 |
exitCallbackUrl | string | IMC回调退出入口地址 | HW的IMC中注册ISV应用的回调退出入口地址,从(2022-1-7最新沟通确认,登出暂时不做要求了),例如:https://xxx.xxx.xxx.com/k3cloud/imc_cas/exit_callback.aspx?cloudappid=imc_cloud&ssotype=cas |
syncCallbackUrl | string | IMC回调同步数据入口地址 | HW的IMC中注册ISV应用的回调同步数据入口地址,例如:https://xxx.xxx.xxx.com/k3cloud/imc_cas/sync_callback.ashx?cloudappid=imc_cloud&ssotype=cas |
securityToken | string | 安全令牌 | HW的IMC开发说明的表3,安全令牌是由应用随机生成的 16 位字符串,用于帐号同步请求 URI Header 参数 Bearer {access_token}, |
signatureKey | string | 签名秘钥 | HW的IMC开发说明的表3,用于对回调消息体内容签名,格式要求和安全令牌相同 |
encryptionKey | string | 加密秘钥 | HW的IMC开发说明的表3,用于对回调消息体内容加解密,格式要求和安全令牌相同 |
b5、 OAuthSettings节点项属性说明(预留内容,暂不支持):
每个子项目属性都一致,可配置多个项目。
属性名称 | 类型 | 名称 | 说明 |
id | string | 唯一id,不可重复 | 在IMC应用回调的url中用cloudappid键值设置的值 |
... | ... | ... | |
... | ... | ... |
8、IMC平台从2020-04-28升级到2021-11-30的集成步骤指引:
9、附录资源:
【HW IMC 入口】 https://fusionplant.huaweicloud.com
【HW的IMC平台说明】 https://support.huaweicloud.com/devg-imc/imc_03_0001.html (2021-11-30 ver)
【IMC租户与普通用户入口】https://fusionplant.huaweicloud.com/magno/render/imc__IMC_0000000000ijYxpMmboG/loginPage
【HW IMC ISV Entry 】https://fusionplant.huaweicloud.com/magno/render/imc__IMC_0000000000ijYxpMmboG/imcadminlogin
【云星空集成临时环境】 https://basdev.open.kingdee.com/k3cloud/
【通版产品补丁下载地址】 https://open.kingdee.com/K3Cloud/Open/PTDownload.aspx
【新增云星空用户】 https://vip.kingdee.com/school/669
【云星空第三方系统登录授权界面参考】
【HW IMC(ver.2020-04-28) 集成 金蝶云星空】https://vip.kingdee.com/article/93370104678936320
【金蝶课程 - 多组织_多组织体系(单集团多法人)】 https://vip.kingdee.com/school/336
-----------------------------
创建于 2022-1-13 18:26:00
编辑于 2022-1-14 15:25:00
编辑于 2022-1-17 10:05:00
编辑于 2022-2-16 11:00:53
推荐阅读