Proposal by YueNing Wang

Goal: Achieve seamless integration with enterprise-grade identity systems while maintaining the existing permission management framework.


About me

(Chongqing University of Posts and Telecommunications, Software Engineering | Ex-Frontend Intern @Bilibili | Full-Stack Enthusiast)

Wechat:yn-Bob

Email: [email protected]

Phone:13133432976

Open source experience:I contributed to the open-source blog project Ting-Library-Monorepo, primarily focusing on optimizing and fixing documentation styles. Additionally, in the Apache DolphinScheduler project, I submitted a PR (#17118) to resolve a related issue. For details, please refer to: https://github.com/apache/dolphinscheduler/pull/17118

Education:As a Software Engineering student at Chongqing University of Posts and Telecommunications, I specialize in full-stack development, with 7 months of frontend experience at Bilibili and additional internships in the field. My technical toolkit includes Java, Spring Boot, and hands-on experience building full-stack applications.

Part 1: Clarifying Basic Concepts

1. What is OIDC (OpenID Connect)?

sequenceDiagram
  Frontend->>OIDC Provider: Redirects to login (with redirect_uri)
  OIDC Provider->>Frontend: Returns code (URL parameter)
  Frontend->>Backend: Sends code (/oidc/callback)
  Backend->>OIDC Provider: Exchanges code for Token (+client_secret)
  OIDC Provider->>Backend: Returns id_token (JWT)
  Backend->>Database: Queries/creates user (using email)
  Database->>Backend: User data
  Backend->>Frontend: Returns AuthUser (user info + new Token)
  Frontend->>Subsequent requests: Includes Token in API calls

2. Current Authentication Mechanism in DolphinScheduler

3. Why OIDC?