Skip to content

feat(dir): multiprovider OIDC-based external authorization module#1034

Open
tkircsi wants to merge 8 commits intomainfrom
feat/oidc-auth
Open

feat(dir): multiprovider OIDC-based external authorization module#1034
tkircsi wants to merge 8 commits intomainfrom
feat/oidc-auth

Conversation

@tkircsi
Copy link
Contributor

@tkircsi tkircsi commented Mar 10, 2026

Summary

Adds an OIDC-based ext-authz service with Casbin RBAC and an Envoy integration test setup.

Features

  • OIDC ext-authz: gRPC service that validates JWT payloads, applies Casbin policies, and enforces deny lists
  • Multiple issuers: Zitadel and GitHub OIDC via Envoy jwt_authn
  • Header handling: Strip x-jwt-payload on JWT routes, strip Authorization before backend
  • Dev path: /api/test accepts x-jwt-payload for testing without real JWTs

Changes

  • New auth/authzserver/ module (config, rbac, payload, oidc_server)
  • Integration test setup: docker-compose, mock-directory, Envoy config
  • Envoy config fixes for v1.31 compatibility

@github-actions github-actions bot added the size/XL Denotes a PR that changes 2000+ lines label Mar 10, 2026
@github-actions
Copy link
Contributor

github-actions bot commented Mar 10, 2026

The latest Buf updates on your PR. Results from workflow Buf CI / verify-proto (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed⏩ skipped⏩ skipped✅ passedMar 20, 2026, 5:20 PM

@codecov
Copy link

codecov bot commented Mar 11, 2026

@tkircsi tkircsi marked this pull request as ready for review March 11, 2026 17:39
@tkircsi tkircsi requested a review from a team as a code owner March 11, 2026 17:39
Copy link
Member

@ramizpolic ramizpolic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGMT w/ nits

@tkircsi tkircsi force-pushed the feat/oidc-auth branch 2 times, most recently from d283e0d to 17a51d8 Compare March 19, 2026 13:53
tkircsi added 2 commits March 19, 2026 15:41
Signed-off-by: Tibor Kircsi <tkircsi@cisco.com>
Signed-off-by: Tibor Kircsi <tkircsi@cisco.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XL Denotes a PR that changes 2000+ lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants