教程 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:
默认身份提供方:EnOS 管理控制台
客户端签名:开启
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进行配置。
验证登录¶
登录客户端,地址自动跳转到 https://sso登录环境域名/auth-service/login,在此以EnOS账号登录成功后,客户端就会依照 SAML 协议取得 Auth Token 并完成登录。