跳到主内容

Jenkins 插件

Casdoor 提供了一个插件,允许用户登录到 Jenkins。 在这里,我们将向您展示如何使用 Casdoor 插件进行 Jenkins 安全。

以下是一些配置设置:

CASDOOR_HOSTNAME:部署 Casdoor 服务器的域名或 IP。

JENKINS_HOSTNAME:部署 Jenkins 的域名或 IP。

步骤 1:部署 Casdoor 和 Jenkins

首先,部署 CasdoorJenkins

成功部署后,请确保以下内容:

  1. 将 Jenkins URL(管理 Jenkins -> 配置系统 -> Jenkins 位置)设置为 JENKINS_HOSTNAMEJenkins URL
  2. 验证 Casdoor 可以正常登录和使用。
  3. 将 Casdoor 的 origin 值(conf/app.conf)设置为 CASDOOR_HOSTNAMECasdoor 配置

步骤 2:配置 Casdoor 应用

  1. 创建一个新的 Casdoor 应用或使用现有的一个。
  2. 添加一个重定向 URL:http://JENKINS_HOSTNAME/securityRealm/finishLogin Casdoor 应用设置
  3. 添加所需的提供商并提供任何额外的设置。

在应用设置页面上,您会找到两个值:Client IDClient secret,如上图所示。 我们将在下一步中使用这些值。

打开您喜欢的浏览器,访问 http://CASDOOR_HOSTNAME/.well-known/openid-configuration,查看 Casdoor 的 OIDC 配置。

步骤 3:配置 Jenkins

现在,您可以从市场安装 Casdoor 插件,或者通过上传其 jar 文件。

安装完成后,转到管理 Jenkins -> 配置全局安全。

建议:备份 Jenkins config.xml 文件,并在设置错误的情况下用于恢复。

Jenkins' 设置

  1. 在安全领域部分,选择 "Casdoor 认证插件"。
  2. 在 Casdoor 端点字段中,输入前面提到的 CASDOOR_HOSTNAME
  3. 在 Client ID 字段中,输入前面提到的 Client ID
  4. 在 Client secret 字段中,输入前面提到的 Client secret
  5. 在 JWT 公钥字段中,提供用于验证 JWT 令牌的公钥。 您可以通过点击 Casdoor 顶部的 Cert 找到公钥。 点击您的应用上的 edit 后,您可以从以下页面复制公钥。 JWT 公钥
  6. 组织名称和应用名称是可选的。 您可以指定您的组织和应用来验证其他组织和应用中的用户。 如果这些字段为空,插件将使用默认的组织和应用。
  7. 在授权部分,选中 "已登录用户可以做任何事"。 禁用 "允许匿名读取访问"。
  8. 点击 Save

Jenkins 现在将自动将您重定向到 Casdoor 进行身份验证。