文章目录
- [什么是 Jenkins?](#什么是 Jenkins?)
- 准备
- authentik配置
- [Jenkins 配置](#Jenkins 配置)
什么是 Jenkins?
领先的开源自动化服务器 Jenkins 提供了数百个插件,用于支持构建、部署和自动化任何项目。
准备
在本指南中,使用了以下占位符:
jenkins.company 是服务安装的 FQDN。
authentik.company 是 authentik 安装的 FQDN。
authentik配置
为了支持 Jenkins 与 authentik 的集成,您需要在 authentik 中创建一个应用程序/提供程序对。
-
作为管理员登录到 authentik 并打开 authentik 管理员界面。
-
导航至
应用程序 > 应用程序,然后单击使用提供程序创建以创建应用程序和提供程序对。 (或者,您可以先单独创建提供程序,然后创建应用程序并将其连接到提供程序。)

-
应用程序 :提供一个描述性名称、一个可选的应用程序类型组、策略引擎模式和可选的 UI 设置。
应用名称:Jenkins, Slug会自动带出:jenkins

-
选择提供者类型 :选择
OAuth2/OpenID Connect作为提供者类型。

-
配置提供者 :提供名称(或接受自动提供的名称)、用于此提供者的授权流程以及以下必需配置。
注意客户端 ID、 客户端密钥和 slug 值,因为它们将在稍后需要。设置一个 Strict 重定向 URI 为 https://jenkins.company/securityRealm/finishLogin 。
选择任何可用的签署密钥。
确保禁用加密。

-
配置绑定 (可选):您可以创建一个 绑定 (策略、组或用户)来管理用户"我的应用程序"页面上应用程序的列表和访问权限。

-
-
单击提交以保存新应用程序和提供程序。
Jenkins 配置
导航到 Jenkins 插件管理器: 管理 Jenkins > 插件 > 可用插件 。在搜索框中搜索oic-auth插件,然后安装插件。之后必须重新启动 Jenkins,以确保插件已加载。
Manage Jenkins > Plugins > Available plugins > oic-auth

重新启动后,再次导航到管理 Jenkins,然后单击安全 。
修改安全域选项,选择使用 OpenID Connect 登录 。
在客户端 ID 和客户端密钥字段中,输入您创建的提供商的客户端 ID 和客户端密钥值。
将配置模式设置为自动配置 ,并将已知配置端点设置为 https://authentik.company/application/o/\<application_slug>/.well-known/openid-configuration
选中覆盖范围复选框,然后在新输入字段中输入范围 openid profile email。
在页面下方,展开高级部分,输入以下值:
- 用户名称字段名称 :preferred_username
- 全名欄位名 :name
- 电子邮件字段名称 :email
- 群组名称 :groups

我们还建议在页面下方启用启用代码交换的证明密钥选项。
此外,为了在配置错误的情况下恢复 Jenkins 访问权限,我们建议配置以下选项的配置"在 OpenID 服务不可用时的跳窗选项。如何配置此选项超出了本文件的范围,由 OpenID 插件进行说明。