news 2026/2/26 23:16:06

GSoC 成果公布!印度开发者为 DolphinScheduler 引入通用 OIDC 认证,实现无缝安全访问

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
GSoC 成果公布!印度开发者为 DolphinScheduler 引入通用 OIDC 认证,实现无缝安全访问

前,Apache DolphinScheduler 提供了几种登录方式,像密码登录、LDAP,还有 Casdoor SSO。但这些方法都有短板,比如说过度依赖 Casdoor 项目,或者 OAuth 的实现不够灵活,跟各种企业身份系统集成的时候特别麻烦。

作为我 2025 年谷歌暑期代码计划(Google Summer of Code)的项目成果,我很高兴给大家介绍一个解决方案:全新的通用 OpenID Connect(OIDC)认证机制。它简化并升级了访问 DolphinScheduler 的方式,让 DolphinScheduler 真正契合企业需求。这个实现巧妙地运用了现有的 Nimbus SDK,还精心设计成能与当前数据库架构无缝衔接,保证所有用户都能轻松完成升级。

1d7f44f5-cbd4-44f5-abf9-fc2a26f69802

认证架构前后对比

🤔 什么是 OIDC?打个比方

不妨把 OIDC 想象成通用的数字护照。就好比你不用为每个要用的服务(比如 DolphinScheduler)单独创建账户,只要拿出身份提供商(像谷歌、Keycloak,或者公司内部的登录系统)给的可信护照,就能证明自己的身份。

从技术角度讲,OIDC 是现代安全标准,在 OAuth 2.0 协议基础上构建了身份验证层。OAuth 2.0 解决的是授权问题(你能做什么),而 OIDC 解决的是身份验证问题(你是谁)。

这个机制对 Apache DolphinScheduler 来说特别合适,原因如下:

通用性强 🌐:它能跟各种合规的身份提供商配合,像 Keycloak、Okta、Azure AD、Dexidp,甚至飞书和企业微信这类社交/企业登录方式都能用。

安全性高 🛡️:它用数字签名的 ID 令牌(JWT)来保证用户身份真实有效,没被篡改过。

灵活度高 🔌:即插即用,企业能轻松把 Apache DolphinScheduler 接入现有的身份基础设施。

01efc6fe-a859-4cb0-bf8b-44e0243786d7

OIDC 数字护照

✨ DolphinScheduler 中 OIDC 的关键特性

我做的这个谷歌暑期代码计划项目给 DolphinScheduler 带来了好几个超实用的企业级特性。

真正的单点登录(SSO):用户现在只要用主身份提供商登录一次,就能直接访问 DolphinScheduler,不用再记另外的密码,使用起来超级方便。

集中式身份管理:在企业环境里,管理员能在 Keycloak 或者 Okta 这样的中央身份提供商(IdP)里统一管理所有用户的访问权限。员工入职或者离职的时候,在一处就能给他们开通或者取消 Apache DolphinScheduler 的访问权限,既提升了安全性,又简化了用户生命周期管理。

自动用户配置与动态角色同步:用户第一次通过 OIDC 登录的时候,Apache DolphinScheduler 会自动创建他们的账户。通过映射身份提供商里的组声明(比如 Keycloak 里的 “dolphinscheduler - admins” 组),就能自动给用户分配管理员权限,新用户上手特别快。而且每次登录都会重新检查角色同步,保证身份提供商始终是权限的唯一权威来源。也就是说,在中央 IdP 里更新角色(升职、降职或者撤销权限),用户下次登录就自动生效。

ID 令牌增强安全性:OIDC 提供一种安全的 JSON Web 令牌(JWT),叫 ID 令牌。这个令牌由 IdP 数字签名,从加密层面保证用户身份真实可靠。DolphinScheduler 每次登录都验证这个令牌,只有认证通过的用户才能访问。

广泛兼容各类 OIDC 提供商:这个项目最大的优势就是通用性。只要遵循 OIDC 标准,Apache DolphinScheduler 就不局限于特定的提供商,能跟一大波身份解决方案兼容,包括但不限于:

开源 IdP:Keycloak、Dexidp

商业 IdP:Okta、Auth0、Microsoft Entra ID(Azure AD)

云原生代理:OAuthProxy

企业与社交登录:飞书、企业微信登录

工作原理:深入剖析

OIDC 集成采用标准的授权码流程,保证身份验证又安全又靠谱。

2a8e4291-503a-4ded-85ce-e28e279f1403

使用 OIDC 的 DolphinScheduler 简化登录流程图

🛠️ 分步指南:如何用 Keycloak 配置 OIDC

配置 OIDC 很简单。下面是用 Keycloak 和 Dex Idp 的快速指南。

示例 1:使用 Keycloak

下面是用流行的开源身份提供商 Keycloak 的快速指南。

步骤 1:配置身份提供商(Keycloak)

在 Keycloak 实例里,得把 DolphinScheduler 注册成新客户端。

创建客户端:给它起个客户端 ID(比如 dolphinscheduler - client)。

c2b90eb9-084c-4030-a359-ea1b76a0b2bd

设置重定向 URI:这一步很关键。要加上 DolphinScheduler API 服务器的回调 URL,格式是 http://{api - host:port}/dolphinscheduler/login/oauth2/code/{provider - id}。要是本地搭建的环境,就是 http://localhost:12345/dolphinscheduler/login/oauth2/code/keycloak。

c3432074-8659-440b-975c-f37b7091bde0

获取凭证:到 “Credentials” 标签页,复制客户端密钥。

edac7733-d60f-4b34-92c2-f95e9f73be3e

💡 快速上手

要是想测试,可以用 dolphinscheduler - api - test/dolphinscheduler - api - test - case/src/test/resources/docker/oidc - login/realm - export.json 这个预配置好的文件,一键启动 Keycloak 实例,所有必要设置都已经弄好了!

步骤 2:配置 DolphinScheduler

接下来,用 Keycloak 的凭证更新 dolphinscheduler - api/src/main/resources/application.yaml 文件。

f3b979e9-a15f-42fd-8681-6e69be71174d

示例 2:使用 Dexidp(展示通用性)

下面看看怎么配置 Dex,另一个很火的 OIDC 身份提供商,感受一下这个系统的灵活性。

步骤 1:配置 Dex

在 Dex 配置文件里,把 DolphinScheduler 加到 staticClients 列表里。

示例 Dex 配置文件 config.yaml:

4fce96e1-4c6c-4173-8c27-dbeb07761b0a

步骤 2:配置 DolphinScheduler

在 application.yaml 里加一个新的提供商条目。

步骤 3:登录!

重启 DolphinScheduler API 服务器之后,登录页面就会出现 “Login with Keycloak” 和 “Login with Dex” 按钮。

7ff2952e-28bc-4e9a-b494-962b0e2be951

开启 OIDC 的 DolphinScheduler 登录页面

两种方式的用户流程都很顺畅:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/23 15:11:39

【python大数据毕设实战】哮喘患者症状数据可视化分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

作者头像 李华
网站建设 2026/2/24 22:54:11

9 个降AI率工具,MBA 必备避坑指南

9 个降AI率工具,MBA 必备避坑指南 AI降重工具:MBA论文的智能护航 MBA论文写作过程中,越来越多的学生开始依赖AI工具进行内容生成。然而,随着高校对AIGC率的严格管控,如何在保持论文原创性和学术规范的同时,…

作者头像 李华
网站建设 2026/2/25 23:59:01

Windows系统文件inetmib1.dll丢失损坏 下载修复方法

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/2/26 4:28:50

Boost电路的右半平面零点

3.1、为什么存在这个右零点?(关键点:先储能再释放)答:右零点不是数学上的巧合,而是由Boost电路独特的能量传输方式决定的。其物理过程可以这样理解:假设电路已经稳定工作,此时我们突…

作者头像 李华
网站建设 2026/2/25 21:40:24

【全球AI伦理治理】

AI伦理治理框架的全球协同案例 欧盟《人工智能法案》提出基于风险分级的四层治理体系,禁止社会评分等高风险应用。OECD的AI政策观察站已收录全球700余项政策倡议,形成跨国数据库共享机制。新加坡的Model AI Governance Framework为亚洲企业提供可认证的伦…

作者头像 李华
网站建设 2026/2/26 17:06:02

毕业季必看!7款免费AI写论文神器实测,一站式搞定选题、大纲到降重

如果你是正在熬夜赶Deadline的毕业生,或是面临着科研压力、被导师催稿的研究生,又或是没钱又要写高质量论文的大学生,那么这篇文章简直就是为你量身打造的!在学术的道路上,我们都曾经历过论文选题的迷茫、写作过程的煎…

作者头像 李华