政务场景下-基于OAuth2.0 统一认证中心架构设计

1. 引言

        部门主要做政务行业业务应用,经历快速发展后,在内部存在n套业务系统,认证系统存在痛点。
1.1 每套信息系统的作用各不相同,每套系统也都拥有自己独立的账号密码权限体系,这时,每个人员都需要记住不同系统的账号密码,人员入职和离职时,人事部门都需要对多个系统进行账号的分配和关停,更严重的是部分系统的管理权限不在人事部门,人员离职时系统的账号未能及时关停,存在较大的安全风险。

1.2 政务场景下,每个系统都需要对接粤政易,省统一认证中心,粤治慧这些信息系统。对接流程复杂,且由于网络问题,调试困难。
为此,公司计划建立一个统一的身份认证中心来统一管理,不需要重复对接粤政易,省统一认证中心,粤治慧这些信息系统。只需要和公司自己的统一认证中心平台对接即可。减少重复工作。

基于公司场景,我们有如下需求,

政务场景下-基于OAuth2.0 统一认证中心架构设计_第1张图片

 

基于此场景以及Oatuth架构,设计了统一认证中心架构。

 

政务场景下-基于OAuth2.0 统一认证中心架构设计_第2张图片

这样架构,涉及多个系统之间认证模块的对接。

遇到了一个问题,由于从政务侧回调回来是同一个端口作为入口,redirect回来之后,同一个端口转发不同服务请求,需要用到nginx。nginx由统一认证模块转发到子模块的时候,出现了cookie丢失问题。

  如果cookie_path与地址栏上的path不相符游览器就不会接受这个cookie,自然session就失效了

需要增加cookie_path

location proxy_test {

proxy_pass http://127.0.0.1:8080/test;

proxy_cookie_path /test /proxy_test;

}

你可能感兴趣的:(统一认证中心,统一认证,java,系统架构)