Skip to content

Adding support for jwt token authorization authentication with a central Jwks - #131

Merged
dawid-nowak merged 7 commits into
mainfrom
dawid.nowak/adding_jwt_token_authorization_authentication
Sep 4, 2026
Merged

Adding support for jwt token authorization authentication with a central Jwks#131
dawid-nowak merged 7 commits into
mainfrom
dawid.nowak/adding_jwt_token_authorization_authentication

Conversation

@dawid-nowak

Copy link
Copy Markdown
Contributor
  • Enhanced support for AutzN/Z
  • The verification keys are retrieved from centralized JWKS which needs to be configured at startup
  • Isolation of claims and AuthorizedPrincipal. AuthorizedPrincipal is created based on the claims from the JWT token but it doesn't need to be. It should be used to isolate higher layers from the knowledge about the claims.

Signed-off-by: Dawid Nowak <nowakd@gmail.com>
Signed-off-by: Dawid Nowak <nowakd@gmail.com>
Signed-off-by: Dawid Nowak <nowakd@gmail.com>
Signed-off-by: Dawid Nowak <nowakd@gmail.com>
Signed-off-by: Dawid Nowak <nowakd@gmail.com>
Signed-off-by: Dawid Nowak <nowakd@gmail.com>

@lucarlig lucarlig left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Observed review and E2E outcomes:

  • The expired-token test rejected before expiry validation because no verification keys were configured.
  • The dataplane exited during startup because the E2E inputs did not provide the required JWKS/private-key configuration, so both external lanes remained at HTTP 502 and no MCP scenarios ran.
  • Key selection and SaaS principal extraction do not preserve the required constraints and mappings.

Comment thread crates/contextforge-data-plane-lib/src/common.rs
Comment thread crates/contextforge-data-plane-lib/src/authorization/jwks/jwks_authorization.rs Outdated
Comment thread crates/contextforge-data-plane-lib/src/authorization/jwks/jwks.rs
Signed-off-by: Dawid Nowak <nowakd@gmail.com>
@lucarlig

lucarlig commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

/conformance

@lucarlig lucarlig left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Concrete options for the open threads. The conformance topology would still need the self-hosted JWKS URL, the extractor would need a public re-export and injected constructor, and the HMAC fixtures would need RSA replacements if the algorithm policy is adopted.

Comment thread crates/contextforge-data-plane-lib/src/common.rs
Comment thread crates/contextforge-data-plane-lib/src/authorization/jwks/jwks.rs
@dawid-nowak
dawid-nowak requested a review from lucarlig September 4, 2026 11:59
@dawid-nowak
dawid-nowak force-pushed the dawid.nowak/adding_jwt_token_authorization_authentication branch from 95e24b5 to 4f3566a Compare September 4, 2026 12:00
@dawid-nowak
dawid-nowak merged commit 63a81a5 into main Sep 4, 2026
21 of 22 checks passed
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.

2 participants