HW IMC(ver.2021-11-30) 集成 金蝶云星空原创
金蝶云社区-yaojunsong
yaojunsong
3人赞赏了该文章 749次浏览 未经作者许可,禁止转载编辑于2022年03月09日 10:54:36

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免登效果动画:

20220112-1.gif

    

    b、GUI客户端免登效果动画: 

20220112-2.gif


    c、silveright端

        由于IMC门户并不支持IE浏览器,因此云星空也不做silverlight的集成支持。如下图,当点击立即更换后,这个界面就变为空白,不再出现了。

image.png


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协议的引导程序。   

        image.png


6、HW的IMC同步回调云星空的三种数据说明

    a、IMC伙伴企业租户的管理员tenant数据:由IMC平台租户管理用户在更新App秘钥,新增等操作时同步回调ISV的同步入口,从而实现租户数据同步。自动回调更新云星空服务器站点配置文件, 关键是更新当前租户的验证域名地址【website/app_data/imc_integration.config】,并记录更新时间和备份老文件。(支持加密存储)


image.png


    b、组织机构数据:组织机构同步功能存在业务差异,在星空这边是有多数据中心多业务组织的,是有复杂业务语义的,因此不能自动同步。


    c、用户数据:用户部分也依赖于多数据中心多业务组织的,同时有角色和权限,数据权限,功能权限等复杂配置,因此不能自动同步。


7、配置参数说明(重点):

    【website/app_data/imc_integration.config】的配置参数说明

    a、加密配置(更好的安全性):

属性名称类型名称说明
FileHalfKeystring第一把秘钥多把秘钥加密中的一把秘钥(如丢失将永不可解密
Datastring配置数据可以为加密数据或明文数据,明文数据默认为JSON格式
Debuggingbool调试状态true或写比较详细日志,false写简单日志
IsPlainttextbool是否明文数据

false,则下次更新为密文,这样更安全;

true,则下次更新为明文,方便修改配置和调试;

UpdateDateTimeDateTime最后更新时间IMC回调更新配置的最后更新时间

image.png


    b、明文配置(更容易的修改配置和调试):

          b1、Data对象中的属性:           

属性名称类型名称说明
idstring唯一ID仅预留
appIdstring云星空定义回调的应用id
在IMC应用回调的url中用cloudappid键值设置的值
updateDateTimeDateTime最后更新时间IMC回调更新配置的最后更新时间
TenantsArrayIMC租户配置列表IMC平台中的租户配置信息,支持多个租户集成
XingkongSettingsArray云星空第三方系统配置列表云星空系统中第三方应用集成配置信息,支持多个第三方应用
CasSettingsArrayCas协议配置列表IMC平台中集成协议配置,支持多个应用配置列表,同时在IMC应用回调的url中用ssotype键值设置的值cas
OAuthSettingsArrayOAuth协议配置列表目前未支持,仅预留,同时在IMC应用回调的url中用ssotype键值设置的值oauth


image.png

image.png


        b2、 Tenants 节点项属性说明:

            每个项目属性都一致,依赖HW的IMC平台20211130文档版本属性【文档首页> 华为工业云平台 IMC> 开发指南> 应用集成开发与验证> 帐号同步开发> 企业管理员同步】,由IMC平台租户的管理用户在更新App秘钥时,新增等操作时同步回调ISV同步入口,实现租户数据同步。

属性名称类型名称说明
appIdstring应用 id应用 id
namestring企业管理员帐号,不能重复企业管理员帐号,不能重复
tenantstring企业管理员 id (唯一标识)用于 OAuth 认证时, 通过回调地址中的 tenant 参数,查询 domainName、clientId 和 clientSecret 三个参数,由于企业管理员使用华为云帐号,tenant 与华为云帐号的 domainId 保持一致
orderIdstring订单 id企业管理员云市场购买应用的订单 id
clientIdstringOAuth 认证使用的 clientIdOAuth 认证使用的 clientId
clientSecretstringOAuth 认证使用的 clientSecretOAuth 认证使用的 clientSecret
domainNamestring认证源域名由IMC平台租户管理用户更新App秘钥,新增等操作时同步回调ISV同步入口,实现租户数据同步,用于token或ticket的校验,重要
mobilestring企业管理员手机号企业管理员手机号
emailstring企业管理员邮箱企业管理员邮箱
companystring企业名称企业名称
verifyStatusinteger企业管理员认证状态

0 代表企业管理员未通过华为云认证;

1 代表企业管理员已通过华为云认证;


        b3、 XingkongSettings 数组类型,点项属性说明:

             每个子项目属性都一致,可配置多个项目。其中云星空的第三方应用秘钥与应用ID、名称通过管理员账户登入云星空,进入 【全功能菜单-系统管理-系统管理-第三方系统登录授权】功能界面获取。

属性名称类型名称说明
idstring唯一id,不可重复

XingkongSettings 列表中首个项目用来配置手工选择数据中心,默认数据中心,默认语言

后面的子项目用dbid做唯一标识,区分不同数据中心配置。可在【云星空第三方系统登录授权界面参考】中尝试生成测试链接时,会提示并获取当前数据中心ID。

cloudAppIdstring应用ID云星空第三方应用的应用ID
manuSelectAcctbool手工选择数据中心

true: 需要人工选择数据中心;

false: 直接读取defDbId和defLcid后直接登入;

XingkongSettings 的首个节点设置有效;

defDbIdstring默认数据中心ID默认数据中心ID,从云星空管理中心获取。可在【云星空第三方系统登录授权界面参考】中尝试生成测试链接时,会提示并获取当前数据中心ID。XingkongSettings 的首个节点设置有效;
defLcidstring默认语言ID默认语言ID: 中文=2052,繁体=3076,英文=1033。XingkongSettings 的首个节点设置有效;
namestring应用名称应用名称
secretKeystring应用密钥云星空第三方应用的应用密钥
entryUrlstring云星空入口地址云星空入口地址,例如:https://xxx.xxx.xxx.com/k3cloud/html5/index.aspx,该地址用于IMC平台回调校验和生成云星空入口链接,域名部分必须匹配IMC平台上的ISV应用的设置。


        b4、 CasSettings 数组类型,节点项属性说明

            每个子项目属性都一致,可配置多个项目。 仅支持AES/ECB/PKCS5padding加密算法 ,参考附录【HW的IMC平台说明】的【文档首页> 华为工业云平台 IMC> 开发指南> 应用集成开发与验证> 应用注册配置】

属性名称类型名称说明
idstring唯一id,不可重复

在IMC应用回调的url中用cloudappid键值设置的值

appCallbackUrlstringIMC回调应用入口地址

HW的IMC中注册ISV应用的回调应用入口地址,例如:https://xxx.xxx.xxx.com/k3cloud/imc_cas/app_callback.aspx?cloudappid=imc_cloud&ssotype=cas

如果是WPF桌面应用,增加url的 clienttype=wpf参数,以下url参数相同。

exitCallbackUrlstringIMC回调退出入口地址HW的IMC中注册ISV应用的回调退出入口地址,从(2022-1-7最新沟通确认,登出暂时不做要求了),例如:https://xxx.xxx.xxx.com/k3cloud/imc_cas/exit_callback.aspx?cloudappid=imc_cloud&ssotype=cas
syncCallbackUrlstringIMC回调同步数据入口地址HW的IMC中注册ISV应用的回调同步数据入口地址,例如:https://xxx.xxx.xxx.com/k3cloud/imc_cas/sync_callback.ashx?cloudappid=imc_cloud&ssotype=cas
securityTokenstring安全令牌HW的IMC开发说明的表3,安全令牌是由应用随机生成的 16 位字符串,用于帐号同步请求 URI Header 参数 Bearer {access_token},
signatureKeystring签名秘钥HW的IMC开发说明的表3,用于对回调消息体内容签名,格式要求和安全令牌相同
encryptionKeystring加密秘钥HW的IMC开发说明的表3,用于对回调消息体内容加解密,格式要求和安全令牌相同


        b5、 OAuthSettings节点项属性说明(预留内容,暂不支持):

            每个子项目属性都一致,可配置多个项目。

属性名称类型名称说明
idstring唯一id,不可重复

在IMC应用回调的url中用cloudappid键值设置的值

...
......
...
......


8、IMC平台从2020-04-28升级到2021-11-30的集成步骤指引

1、备份WebSite/Web.config 和 app_data/commonc.config 到备份目录下;
2、2020-04-28版本配置卸载 (原版本集成配置参考:【附录-HW IMC(ver.2020-04-28) 集成 金蝶云星空】)
   2.1、卸载Web.config的相关配置
       2.1.1、在httpmodule节点下移除KDIMCCasAuthModule模块。
   2.2、卸载app_data\common.config 的相关配置:
       2.2.1、在common.config 的<appSettings>下移除CustomLoginUI参数。
       2.2.2、在common.config 的<appSettings>下移除CasAuthCfg参数。
3、升级云星空到云星空指定版本(参考【2、集成开发方案】)。
4、配置新版本华为IMC2021-11-30的集成参数(参考本文【5、集成部署】)。


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

    【IMC集成二开功能包】http://pkgstock.open.kingdee.com/AppStock/20220216/HWIMCIntegration.1.1.35.1.4a31ec777c434da39f8d3a53b027090a.kdpkg   

    【新增云星空用户】 https://vip.kingdee.com/school/669 

    【云星空第三方系统登录授权界面参考

image.png

    【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

赞 3