GSoC 学生大显身手!Apache DolphinScheduler OIDC 升级背后的内部故事

发布: (2025年12月4日 GMT+8 16:46)
5 分钟阅读
原文: Dev.to

Source: Dev.to

请提供您希望翻译的正文内容,我将为您翻译成简体中文并保持原有的格式、Markdown 语法以及技术术语不变。

个人简介

印度英文

姓名: Aryan Kumar
地点: 印度昌迪加尔
当前状态: 就读于旁遮普工程学院,攻读冶金与材料工程学士(辅修数据科学),预计2027年5月毕业。立志成为软件工程师,对人工智能和开源开发感兴趣。积极寻找软件开发、全栈和DevOps方向的全职或实习机会。
GitHub: tusaryan
LinkedIn: tusaryan
联系方式: aryankumartus@gmail.com
兴趣爱好: 园艺、游泳、足球、徒步旅行、旅游以及持续学习。

面试记录

您是否为 Apache DolphinScheduler 社区做出过贡献?能描述具体方案吗?

是的,我很幸运能够做出多项贡献,其中最重要的是我的 Google Summer of Code 2025 项目。

  • Kyuubi 数据源连接修复(#17081 – 我在 DolphinScheduler 的首次开源贡献(2025 年 2 月)。通过修正 JDBC URL 的构建方式并更新单元测试,解决了在使用 Kyuubi 的高可用环境中出现的 JDBC 连接失败问题。

  • Master Server 负载保护(#17159 – 实现了新的配置项 max.concurrent.workflow.instances,用于在故障转移场景下防止 Master Server 过载。重构了服务器保护机制,加入了 CPU、内存和磁盘使用阈值的综合判断。

  • 通用 OIDC 认证模块(#17340,GSoC’25 项目) – 负责架构设计并实现了一个通用的 OpenID Connect(OIDC)认证系统。

    问题: DolphinScheduler 的单点登录(SSO)功能仅限于特定实现(例如 Casdoor),导致企业集成困难。

    解决方案: 使用 Nimbus SDK 开发了可扩展的 SSO 机制,支持任何符合 OIDC 标准的提供者(Keycloak、Okta、Azure AD 等)。新增了完善的认证流程、令牌校验、CSRF 与注入防护,以及在每次登录时重新评估权限的动态角色同步。实现了覆盖率约 94 % 的单元测试和 API 测试,以确保可靠性。

    影响: 提升了安全性,简化了用户管理,缩短了集成时间,并保持了对现有登录方式的向后兼容。

您第一次了解 DolphinScheduler 的背景是什么?有什么有趣的故事吗?

我一直对技术能够解决问题并在全球范围内连接人们感到着迷。中学时我第一次听说 Google Summer of Code (GSoC),随后在大学期间进一步了解。凭借扎实的 Java 基础,我逐步扩展到 Spring Boot、微服务、安全以及 DevOps 等领域。

当 GSoC 时间表公布时,我正在寻找一个对分布式系统和安全性有高影响力的开源项目。在探索潜在项目的过程中,我发现了 Apache DolphinScheduler。作为一名 Java 开发者,我熟悉许多 ASF 项目(HTTP Server、Tomcat、Kafka、Spark、Hadoop、Maven 等),因此为一个被广泛使用的工作流编排平台做贡献感觉非常契合。

在正式贡献之前,我先研读了官方文档,了解现有架构并寻找可以增值的切入点。这一准备工作帮助我提出了 OIDC 认证模块的方案,最终该方案成为了我的 GSoC 项目。

Back to Blog

相关文章

阅读更多 »