6.7 KiB
一、概述
OAuth2认证实现E-cology系统作为基于OAuth2.0协议的统一身份认证平台, 允许第三方系统通过OAuth2.0进行接入E-cology系统
KB900200602 以后版本支持。
**非标功能: 100 统一认证中心 **
功能入口:【后端引擎应用中心】-【集成中心】-【统一认证中心】-【认证服务管理】-【OAuth2认证】
二、OAuth认证服务部署
OAuth2认证也是做在weaversso里面的, 从而需要向CAS认证一样, 部署weaversso。
1、中间件中需要配置weaversso(以下以Resin为例)
Resin\conf\resin.xml中需要配置weaversso应用:(其中, 路径为WEB-INF下面的weaversso全路径, 请根据实际路径进行配置)
2、配置weaversso中文件
文件路径:ecology\WEB-INF\weaversso\WEB-INF\spring-configuration\propertyFileConfigurer.xml
需要配置weaver.properties文件的绝对路径
请注意: 以上两点配置好后, 需要重启服务。
三、 OAuth2认证页面配置
首先, 需要在系统设置中配置OA访问地址
然后, 点击OAuth2认证菜单, 启用OAuth2认证,会显示如下图所示:
页面说明:
-
启用: 默认关闭; 开启后可进行配置。
-
请求用户授权接口地址:只读显示,OA访问地址/sso/oauth2.0/authorize
-
获取授权Token接口地址:只读显示,OA访问地址/sso/oauth2.0/accessToken
-
获取用户信息接口地址:只读显示,OA访问地址/sso/oauth2.0/profile
-
统一退出接口地址:只读显示,OA访问地址/sso/logout
-
检查心跳接口地址:只读显示,OA访问地址/sso/oauth2.0/heartbeat
-
启用OAuth2集成:默认关闭,不可编辑, 需申请128OAuth2集成非标后才可启用
-
【测试】: 测试OAuth2认证接口地址是否正常
-
【保存】: 可保存配置, 也可部署OAuth2集成
其中, 启用、 启用OAuth2集成 、 【测试】 以及 【保存】四者关系如下表所示:
| 启用 | 启用OAuth2集成 | 【测试】 | 【保存】 |
| 开启 | 关闭 | 测试不通过 | 不可保存,提示“测试不通过” |
| 测试通过 | 直接保存配置。保存之后, 启用OAuth2集成 开关置灰, 不可编辑 | ||
| 开启 | 开启(有申请128OAuth2集成非标) | 测试不通过 | 不可保存,提示“测试不通过” |
| 测试通过 | 会保存配置, 同时, 会自动生成OAuth2集成的配置,会向web.xml中写入OAuth2集成配置,最终会自动重启。重启之后, 启用OAuth2集成 开关置灰, 不可编辑 | ||
| 关闭 | 关闭 | / | 直接保存配置。保存之后, 启用OAuth2集成 开关是关闭的, 可编辑 |
| 关闭 | 开启 | / | 直接保存配置, 会同时关闭OAuth2集成, 会移出web.xml中OAuth2集成的配置, 最终会自动重启。重启之后,启用OAuth2集成 开关是关闭的, 可编辑 |
备注:在使用OAuth2认证时, 首先,需确认是否ecology自身也需要走OAuth2认证, 若是, 则可开启启用OAuth2集成。
四、OAuth2认证应用配置
路径:【后端引擎应用中心】-【集成中心】-【统一认证中心】-【认证服务管理】-【认证应用管理】
认证应用管理中增加认证方式“OAUTH2”,选择后, 可配置OAuth2认证的应用。
其中,
**应用标识 对应 client_id **, 可通过【生成】按钮直接生成;
**应用密钥 对应 client_secret **, 可通过【生成】按钮直接生成;
若业务系统想要接入ecology的OAuth2认证, 首先需要在这里配置对应的OAuth2应用, 配置业务系统的URL地址(OAuth2认证授权成功的回调地址), 生成对应的应用标识以及应用密钥,保存之后, 将此client_id以及client_secret 给到业务系统进行接入。
备注: 若有调整应用(比如调整启用开关、 调整业务系统URL地址 等),应用生效会有延迟时间, 最迟2分钟后才生效。
五、 OAuth2接口说明
OAuth2认证接口文档可看附件《异构系统接入OAuth2认证开发说明V1.1.docx》, 第三方系统可通过此接口文档接入OAuth2认证。
六、 OAuth2认证示例
可看附件文档《【866066】新增功能:统一认证中心开发OAuth2认证服务.doc》中【3.6. OAuth2认证 接入示例】