教程 1:应用使用 EnOS 账号登录 - OIDC¶
本篇文章以 Jenkins 遵守 OIDC 协议通过SSO Server登录为例:
前提条件¶
步骤¶
步骤一:在SSO Server上注册jenkins客户端¶
在 EnOS 管理控制台中选择 单点登录 > 客户端配置。
点击 新建客户端,提供如下信息:
客户端配置信息:
客户端协议:OIDC。
客户端ID:enos-oidc
客户端密码:自动生成
Login Redirect URL:http://localhost:8080/securityRealm/finishLogin (OIDC协议中SP侧接收auth code的地址)
Logout Redirect URL:http://localhost:8080 (SSO用户的登出重定向到 Jenkins 登录页面)
Base URL:
默认身份提供方:EnOS 管理控制台
Authentication Code Flow:打开
Scope配置:选择 email 和 profile。
点击 保存 ,新建客户端完成。
步骤二:配置 Jenkins 客户端¶
安装 Jenkins 客户端 openId插件: a. Jenkins 管理员登录到 Jenkins客户端,进入路径 Manage Jenkins > Manage Plugins > Available,勾选 OpenID 和 OpenID Connect Authentication,点击 Download now and install after restart。 b. 下载完成后,勾选 Restart Jenkins when installation is complete and no jobs are running,重启 Jenkins 客户端。
再次登录到 Jenkins客户端,进入路径 Manage Jenkins > Configure Global Security,勾选 Enable security,在 Security Realm 栏勾选 Login with Openid Connect,并填写以下项:
Client id:enos-oidc。即步骤一内的客户端ID。
Client secret:即第一步内自动生成的客户端密码。
填写完成后,在 Configuration mode 栏勾选 Automatic configuration,并填写以下项:
Well-known configuration enpoint:https://sso登录环境域名/ssoserver/.well-known/openid-configuration
- 配置完成后,点击 Save。
步骤三:验证登录¶
登录 Jenkins客户端,地址自动跳转到:https://sso登录环境域名/auth-service/login 登录页面。
在客户端(基于 OIDC 实现)代码中加入对应配置¶
如需配置其他客户端,可以在客户端代码中加入对应配置:
客户端的 Issuer Url: https://sso登录环境域名/ssoserver
Client id:即步骤一内的 客户端ID。
Client secret:即第一步内自动生成的 客户端密码。
Login Redirect Url:接收认证结果返回的地址,必须和第一步中的Login Redirect Url相匹配。
Logout redirect url:成功登出后 SSO Servier会将用户浏览器重定向去往该地址。
验证登录¶
登录客户端,地址自动跳转到 https://sso登录环境域名/auth-service/login,在此以EnOS账号登录成功后,客户端就会依照OIDC协议取得 Auth Token 并完成登录。