教程 2:应用使用 EnOS™ 账号登录 - SAML 协议¶
本篇文章以 Jenkins 遵守 SAML 协议通过 SSO Server 登录为例:
前提条件¶
步骤¶
步骤一:在 SSO Server 上注册 jenkins 客户端¶
- 在EnOS管理门户中选择 单点登录 > 客户端配置。
- 点击 新建客户端,提供如下信息:
- 客户端配置信息:
- 客户端协议:SMAL。
- 客户端ID:enos-smal
- Login Redirect URL:http://localhost:8090/securityRealm/finishLogin (SAML 协议中 SP 测接收认证结果的端点 AssertionConsumerService)
- Logout Redirect URL:http://localhost:8090/samlLogout (SAML 协议中 SP 侧的 SLO 端点 SingleLogoutService)
- Base URL:
- 默认身份提供方:devportal
- 客户端签名:开启
- Scope 配置:选择 email 和 profile。
- SAML 密钥:点击 ,生成 SAML 密钥。
- 客户端配置信息:
- 点击 保存 ,新建客户端完成。
步骤二:配置 Jenkins 客户端¶
- 下载安装 Jenkins-saml。
- 下载安装 Jenkins-saml 成功后,登录Jenkins客户端,进入路径 Manage Jenkins > Configure Global Security,勾选 Enable security,在 Security Realm 栏勾选 SAML 2.0,并填写以下项:
- 填写完成后,点击Apply,点击Save。
步骤三:验证登录¶
登录 Jenkins客户端,地址自动跳转到:https://sso登录环境域名/auth-service/login 登录页面。
在客户端(基于 SAML 实现)代码中加入对应配置¶
如需配置其他客户端,可以在客户端代码中加入对应配置:
- 客户端的 Entity Id:即步骤一内的 客户端ID。
- 客户端的:AssertionConsumerService:即步骤一内的 Login Redirect URL。
- 客户端的 SingleLogoutService的地址:即步骤一内的 Logout Redirect URL
- SSO Server的metadata xml:https://beta-enos-authz-service-cn4.eniot.io/ssoserver/oauth/saml/descriptor的地址上。客户端代码可以参照其上的metadata进行配置。