多域名单点登录
- 多域名单点登录概述:
用于集成外部CAS,OAUTH2,SAML等协议的单点登录,访问配置好的二级域名,自动跳转到对应单点登录页进行认证。
- 单点登录启用配置:
hzero:
### SSO配置 ###
oauth:
sso:
# 是否启用二级域名单点登录
enabled: true
# oauth服务基础地址,用于单点登录回调
service:
baseUrl: http://dev.hzero.org:8080/oauth
- 多域名单点登录效果:
1.在系统管理-》域名配置中,创建单点登录配置
2.浏览器打开配置的域名 http://cas.hzero.org
,自动跳转到单点登录页面,并附带回调地址
3.单点登录页登录成功后,跳转回 http://cas.hzero.org
Cas 单点登录集成
- Cas 单点登录流程
- Cas 单点登录配置如下:
1.单点域名:平台域名的代理地址;
2.单点登录类型选择:CAS协议;
3.单点登录服务器地址:CAS服务器地址;
4.单点登录地址:CAS认证地址;
5.客户端地址:登录成功后的回调地址;
- Cas 单点登录效果:
参见上一小节 多域名单点登录效果,此处不再赘述。
Oauth2 单点登录集成
- Oauth2 单点登录流程:
登录时,判断二级域名对应的单点登录类型为Oauth2单点登录,跳转到OAUTH2单点登录系统,登录成功后调用回调地址并附带授权码参数,回调api处理逻辑中,会根据授权码获取对应token,再根据token获取用户名。原理与CAS单点登录类似,不再赘述。
- Oauth2 单点登录配置如下:
1.单点域名:平台域名的代理地址;
2.单点登录类型选择:OAUTH2协议;
3.单点登录服务器地址:OAUTH2服务器地址;
4.单点登录地址:OAUTH2认证地址;
5.客户端地址:登录成功后的回调地址;
6.clientId:OAUTH2认证客户端ID;
7.client密码:OAUTH2认证客户端密码;
8.Oauth2认证用户信息:OAUTH2根据token获取用户信息地址;
- Oauth2 单点登录效果:
1.在系统管理-》域名配置中,创建单点登录配置
2.浏览器打开配置的域名 http://auth.hzero.org
,自动跳转到单点登录页面,并附带回调地址
3.单点登录页登录成功后,跳转回 http://auth.hzero.org
Azure-AD 单点登录集成
- Azure-AD 本质是Oauth2协议,具体配置可参照上一小节:Oauth2 单点登录集成
- 区别之处在于Azure-AD 已提供SDK根据token查询用户信息,无需配置Oauth2获取用户信息地址。
saml 单点登录集成
- saml 单点登录流程
- saml 单点登录配置:
1.下载hzero saml元数据,下载地址为oauth服务+/saml/metadata,例如:http://hzeronb.saas.hand-china.com/oauth/saml/metadata
2.将hzero元数据提供给 saml 身份提供方
3.获取saml 身份提供方的元数据地址,配置在域名配置->saml元数据地址字段中。