Jenkins 插件
Casdoor 提供了一个插件,允许用户登录到 Jenkins。 在这里,我们将向您展示如何使用 Casdoor 插件进行 Jenkins 安全。
以下是一些配置设置:
CASDOOR_HOSTNAME
:部署 Casdoor 服务器的域名或 IP。
JENKINS_HOSTNAME
:部署 Jenkins 的域名或 IP。
步骤 1:部署 Casdoor 和 Jenkins
成功部署后,请确保以下内容:
- 将 Jenkins URL(管理 Jenkins -> 配置系统 -> Jenkins 位置)设置为
JENKINS_HOSTNAME
。 - 验证 Casdoor 可以正常登录和使用。
- 将 Casdoor 的
origin
值(conf/app.conf)设置为CASDOOR_HOSTNAME
。
步骤 2:配置 Casdoor 应用
- 创建一个新的 Casdoor 应用或使用现有的一个。
- 添加一个重定向 URL:
http://JENKINS_HOSTNAME/securityRealm/finishLogin
- 添加所需的提供商并提供任何额外的设置。
在应用设置页面上,您会找到两个值:Client ID
和 Client secret
,如上图所示。 我们将在下一步中使用这些值。
打开您喜欢的浏览器,访问 http://CASDOOR_HOSTNAME
/.well-known/openid-configuration,查看 Casdoor 的 OIDC 配置。
步骤 3:配置 Jenkins
现在,您可以从市场安装 Casdoor 插件,或者通过上传其 jar
文件。
安装完成后,转到管理 Jenkins -> 配置全局安全。
建议:备份 Jenkins config.xml
文件,并在设置错误的情况下用于恢复。
- 在安全领域部分,选择 "Casdoor 认证插件"。
- 在 Casdoor 端点字段中,输入前面提到的
CASDOOR_HOSTNAME
。 - 在 Client ID 字段中,输入前面提到的
Client ID
。 - 在 Client secret 字段中,输入前面提到的
Client secret
。 - 在 JWT 公钥字段中,提供用于验证 JWT 令牌的公钥。 您可以通过点击 Casdoor 顶部的
Cert
找到公钥。 点击您的应用上的edit
后,您可以从以下页面复制公钥。 - 组织名称和应用名称是可选的。 您可以指定您的组织和应用来验证其他组织和应用中的用户。 如果这些字段为空,插件将使用默认的组织和应用。
- 在授权部分,选中 "已登录用户可以做任何事"。 禁用 "允许匿名读取访问"。
- 点击
Save
。
Jenkins 现在将自动将您重定向到 Casdoor 进行身份验证。