MaxKey icon indicating copy to clipboard operation
MaxKey copied to clipboard

慧点OA怎么集成呢

Open TomYule opened this issue 1 month ago • 1 comments

慧点OA怎么集成呢

官方给的文档如下 我要怎么创建呢?

单点登录第三方系统-基于页面配置实现 概述        本文档讨论的是利用现有的wep工程的单点登录设置页面,配置实现从WE系统单点登录第三方系统。 支持版本说明       从WEPV8.1.0.30版本支持基于配置实现“WE系统单点登录第三方系统”。 配置页面说明

Image

设置说明:         接入方式:门户认证机制(跳转第三方必需选择此项);         单点转向地址:在此处设置待跳转的第三方url地址;       单点附加参数:         a). 2023年12月8日修改前格式:         在此处设置跳转地址需附加的参数;如第三方需要接收token时,对应设置的key必须为"token_param",value值为对方接收token的参数名;需根据第三方提供的待跳转地址进行配置。         例如待跳转的第三方地址为 " http://第三方域名/第三方地址?参数1=xx1&ticket=当前登录人的token值",则可设置 单点转向地址为"http://第三方域名/第三方地址",单点附件参数为:"{"参数1": "xx1","token_param":"ticket"}";         b ). 2023年12月8日修改后格式:             样例格式

                {
                    "get_token":[
                        {
                            "hand_url":"http://127.0.0.1:8888/xcoa/api/we-open/v1/wethirdpartysystemlogin/getToken",
                               "hand#method":"POSTJSON",
                               "hand#type":"BODY",
                            "hand|ssoss":"#sso",
                               "hand|appId":"wQEE8WnD",
                               "hand|appSecret":"f383292d10bdec574b8d55569e0b1f95cf657d31",
                               "hand|userAccount":"bingshan",
                               "hand^Authorization":"access_token"
                           }
                       ],
                       "redirect":{
                           "url":"",
                           "open_method":"POST",
                           "open_type":"SELF",
                           "is_json":"false",
                           "param_name":"aa"
                       }
                   }

                 get_token 其目标为请求第三方系统的token,可能会有多个请求;其内容格式细节上同 第三方认证机制一致,即:                     在此处配置基于 token或授权码解析第三方系统用户信息所需的设置信息;格式为json字符串;                         以相同字符开头的key中数据,为一次完整请求解析所需的全部信息(请求url、入参、返回值解析标记);                         以"_url"为key的结尾则代表此次请求的请求url,参考示例数据{"hand_url":"url地址"}。                   以"#"分割的数据存储请求url所用的一些辅助;当前支持 "hand#method" 代表请求的方式:POSTFORM:请求消息主体为"multipart/form-data"并以post方式请求,POSTJSON: 请求消息主体为JSON字符串并以 post方式请求,GET:以get方式请求;支持"hand#type"代表请求传递参数的途径:BODY:在请求体中传参,HEAD:在请求头中传参,参考示例数据{"hand#method":"POSTFORM"," hand#type ":" BODY "}。

            以"|"分隔的数据存储请求所需参数数据,参考示例数据{"hand_url":"token解析地址", "hand#method":"GET","hand|access_token":"xx1"}代表待请求地址为"   http://第三方域名/token解析地址? access_token=xx1"。

              以"^"分隔的数据存储响应数据解析用的参数,"hand^type"代表从何处取请求的返回数据{"hand^type":"BODY"}代表从响应体取数据,{ "hand^type":"HEAD" }代表从响应头取 数据。{ "hand^account":"loginName" }代表从响应数据中取出key为loginName的值,且将该值存储在#account变量中,可在下一请求中使用{"hand2|参数 ":"#account "}来传入该值。                         上述样例中:"hand|ssoss":"#sso"  表示 参数ssoss作为本次请求的参数,其值来资源url传参中的sso。如果是多个getToken请求,则可以取自其之前的请求返回信息的值,配置上做好匹配即可。比如,上一个请求中有该配置 "hand^Authorization":"access_token",则 在第二个请求中 可以使用 "hand|token":"#Authorization" 来获取想要的参数。

             redirect中配置重定向的地址,以及其他信息                 可以通过url传参来传递一些参数以供 redirect 重定向的url请求使用,比如起始页数,条件参数等等;                 open_method 表示请求的方式 POST 或者 GET                 open_type  表示打开方式 self 是本页面打开的意思                 is_json  表示请求的参数是否以一个整体的json参数,默认为false;                 param_name  如果作为整体的json参数,那么参数名在此设置。              预执行地址:非必填,如需要在跳转第三方之前执行接口,则在此设置,如无需预执行接口可不设置;         参数传递方式:代表是以post还是get方式执行"预执行地址";         接入方式:设置默认值即可,为以后扩展预留;         字符编码方式: 设置默认值即可,为以后扩展预留;         单点配置名称:用以说明跳转指定的第三方。         单点配置编码:唯一标识此条设置数据;在跳转指定第三方的url中需包含此编码。         当单点配置编码为toThird,要转向该配置数据中的 单点转向地址,WE系统的对应URL为" WE前端域名/#/sd-thirdparty-ssologin/ toThird";如要转向第三方的指定地址:"指定地址?参数=yy",则WE系统的对应URL为"WE前端域名/#/sd-thirdparty-ssologin/ toThird? redirectUr= 指定地址?参数=yy"。 单点登录第三方的URL         单点登录第三方系统:WE前端域名/#/sd-thirdparty-ssologin/门户跳转单点配置编码;         单点打开第三方系统指定链接:WE前端域名/#/sd-thirdparty-ssologin/单点配置编码?redirectUr=指定链接(可带参数);    注:在单点附加参数中设置token_param则token会自动加入转向地址,如果不设置token_param则token不会加入。 已接入的参考配置         1)基于通用的token单点跳转到WE系统的参考配置:

Image

        2 )基于token校验接口单点跳转到WE系统的参考配置:

Image

         3)单点跳转263邮箱的参考配置:

Image

辅助sql示例

INSERT INTO xcou.hd_setting_sso (ID,THIRDPARTY_CODE,THIRDPARTY_NAME,ACCESS_WAY,AUTH_MODE,ANALYSIS_MODE,CHAR_ENCODING,HTTP_METHOD,CIPHER_MODE,HANDSHAKE_URL,PC_URL,H5_URL,REDIRECT_URL,CREATOR_ID,CREATOR_ACCOUNT,CREATOR_NAME,CREATE_DEPT_ID,CREATE_DEPT_CODE,CREATE_DEPT_NAME,MODIFY_EMP_ID,MODIFY_EMP_ACCOUNT,MODIFY_EMP_NAME,CREATION_TIME,LAST_MODIFIED_TIME,DELETED,BELONGED_ORG_ID,TENANT_ID,BUSINESS_CODE) VALUES
     (101,'to64','126服务器跳转至64服务器','PC','PORTAL',NULL,'UTF-8','POST','DES','{"from":"在64服务中配置的对126服务的标记","token_param":"ticket"}',NULL,NULL,'http://64服务器前端域名/?#/sd-thirdparty-login?redirect=sd-frame/sd-mytodolist',NULL,'hdadmin','系统管理员',NULL,NULL,NULL,NULL,'hdadmin','系统管理员',1679105948729,1679448510328,0,-1,-1,'ALL');


第三方单点登录WE系统-基于页面配置实现

概述        本文档讨论的是利用现有的wep工程的单点登录设置页面,配置实现从第三方系统单点登录WE系统。 支持版本说明       从WEPV8.1.0.28版本支持基于配置实现“第三方系统单点登录WE 系统”,配置说明见本页面"8.1.0.28"版本;       WEPV8.3.1.0版本修改了配置界面,配置说明见本页面最新版本;      登录过程

Image

配置页面说明

Image

设置说明:    在配置界面中通过配置完成第三方token解析接口请求参数的组装以及接口返回数据的解析。

       单点配置名称:用以说明从哪个第三方单点过来。        单点配置编码:唯一标识此条设置数据;在第三方单点跳转url中需包含此编码。       当以上配置数据的单点配置编码设置为fromThird,则第三方调用地址 “WE前端域名/#/sd-thirdparty-login?redirect=登录后转向地址&from=fromThird&ticket=xxx” 即可单点登录WE系统。        接入方式:暂无用,预留的扩展;       认证模式 : 第三方认证机制(第三方跳转WE系统必需选择此项);

      参数解析方式:单点参数值的解析方式,如果基于第三方的token解析以及基于授权码解析则必须设置“第三方的token解析”;       单点附加参数:         在此处配置基于 token或授权码解析第三方系统用户信息所需的设置信息;格式为json字符串;         以相同字符开头的key中数据,为一次完整请求解析所需的全部信息(请求url、入参、返回值解析标记);         以"_url"为key的结尾则代表此次请求的请求url,参考示例数据{"hand_url":"url地址"}。         以"#"分割的数据存储请求url所用的一些辅助;当前支持 "hand#method" 代表请求的方式:POSTFORM:请求消息主体为"multipart/form-data"并以post方式请求,POSTJSON: 请求消息主体为JSON字符串并以 post方式请求,GET:以get方式请求;支持"hand#type"代表请求传递参数的途径:BODY:在请求体中传参,HEAD:在请求头中传参,参考示例数据{"hand#method":"POSTFORM"," hand#type ":" BODY "}。         以"|"分隔的数据存储请求所需参数数据,参考示例数据{"hand_url":"token解析地址", "hand#method":"GET","hand|access_token":"xx1"}代表待请求地址为"   http://第三方域名/token解析地址? access_token=xx1"。      以"^"分隔的数据存储响应数据解析用的参数,"hand^type"代表从何处取请求的返回数据{"hand^type":"BODY"}代表从响应体取数据,{ "hand^type":"HEAD" }代表从响应头取 数据。{ "hand^account":"loginName" }代表从响应数据中取出key为loginName的值,且将该值存储在#account变量中,可在下一请求中使用{"hand2|参数 ":"#account "}来传入该值。

单点登录WE的调用URL        前端域名/#/sd-thirdparty-login?redirect=指定跳转地址&from=单点配置编码&ticket=门户系统的token; 已接入的参考配置     1)从致远单点登录WE系统的参考配置:

Image

    2)从慧家园单点登录WE系统的参考配置:

Image

    3)从WE模拟的portal单点登录WE系统的参考配置:

Image

    4)竹云单点登录WE系统的参考配置:

Image

求大佬给指点,配置了没有生效

Image

TomYule avatar Nov 21 '25 03:11 TomYule

连跳转都没有 就在当前页面

TomYule avatar Nov 21 '25 03:11 TomYule

慧点OA支持的是什么单点登录协议

shimingxy avatar Dec 17 '25 06:12 shimingxy