Skip to content

feat(gateway): verify Cloudflare Access edge tokens - #4866

Open
ericcurtin wants to merge 1 commit into
NVIDIA:mainfrom
ericcurtin:feat/4813-edge-jwt-auth/ericcurtin
Open

ericcurtin wants to merge 1 commit into
NVIDIA:mainfrom
ericcurtin:feat/4813-edge-jwt-auth/ericcurtin

Conversation

@ericcurtin

Copy link
Copy Markdown
Contributor

Summary

Verify the Cloudflare Access token on every gRPC request, so bypassing the proxy no longer grants admin.

Related Issue

Closes #4813

Changes

  • Add [openshell.gateway.edge_auth] and an EdgeAuthenticator.
  • Reuse JwksCache for key fetch, rotation, and validation.
  • Share RBAC policy construction between OIDC and edge.
  • Refuse edge_auth with OIDC or allow_unauthenticated_users.
  • Docs.

Without admin_role and user_role, every admitted caller is a platform admin (as with mTLS). Startup warns.

Release Notes

Gateways behind Cloudflare Access can verify the Access token with [openshell.gateway.edge_auth] instead of allow_unauthenticated_users.

Testing

  • Checks appropriate to the affected code and behavior pass
  • Unit tests added/updated (if applicable)
  • E2E tests added/updated (if applicable)

Ran cargo fmt, cargo clippy -D warnings, cargo test for openshell-server and openshell-core, markdownlint, and fern check.

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

Signed-off-by: Eric Curtin <eric.curtin@docker.com>
@copy-pr-bot

copy-pr-bot Bot commented Oct 23, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@ericcurtin

Copy link
Copy Markdown
Contributor Author

@mrunalp @johntmyers PTAL, and /ok to test 1f7556b266831c0f2d94c08939ebd7c2a739f513 if it looks good. Thank you!

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(gateway): validate Cloudflare Access edge JWTs instead of trusting the proxy

1 participant