Skip to content

Support for OIDC SPIFFE Client Authentication#53773

Merged
sberyozkin merged 1 commit intoquarkusio:mainfrom
sberyozkin:spiffe_client_authentication
Apr 27, 2026
Merged

Support for OIDC SPIFFE Client Authentication#53773
sberyozkin merged 1 commit intoquarkusio:mainfrom
sberyozkin:spiffe_client_authentication

Conversation

@sberyozkin
Copy link
Copy Markdown
Member

Fixes #52232

This PR adds support for using SPIFFE JWT tokens for the client authentication between Quarkus OIDC and providers such as Keycloak.

It builds upon the work done by @michalvavrik, with the demo work from @sabre1041 and @maia-iyer at https://github.com/sabre1041/keycloakcon-spiffe/ clarifying a typical pattern for using such tokens for the client authentication.

This PR will fix the linked issue.

As far as X509 client authentication is concerned, it is expected to work out of the box where the OIDC client certificate is located in the file, though I think we'll need to figure out how to handle the dynamism associated with such certificates being regularly refreshed. It will be another enhancement request

@quarkus-bot

This comment has been minimized.

@quarkus-bot

This comment has been minimized.

@sberyozkin
Copy link
Copy Markdown
Member Author

I forgot to add a test resource, it caused the compilation failure.
Also, dismissed alerts as false postives, no actual token is logged, only its type

@quarkus-bot

This comment has been minimized.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 23, 2026

🙈 The PR is closed and the preview is expired.

@quarkus-bot

This comment has been minimized.

@michalvavrik
Copy link
Copy Markdown
Member

I'll review sometimes tomorrow.

Copy link
Copy Markdown
Member

@michalvavrik michalvavrik left a comment

Choose a reason for hiding this comment

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

I only run quickly through it + asked Claude to check it. I'll read it properly again when you address my comments. I already did a lot of unrelated reading today, so I need to check tonight. But I presume it will be fine. Thanks

@sberyozkin
Copy link
Copy Markdown
Member Author

Thanks @michalvavrik , I'll have a look

Comment thread docs/src/main/asciidoc/security-openid-connect-client-reference.adoc Outdated
Copy link
Copy Markdown
Member

@michalvavrik michalvavrik left a comment

Choose a reason for hiding this comment

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

I checked again, looks fine. Let's address at least some of my comments and then we can ask George to review.

@sberyozkin sberyozkin force-pushed the spiffe_client_authentication branch from 1e43f3b to dca417c Compare April 27, 2026 12:00
@sberyozkin
Copy link
Copy Markdown
Member Author

@michalvavrik Please have another quick check when you get a chance, I updated the code to log and return null, no actual log statements are checks but null is checked. Did a few field name updates, for ex, jwtAssertionProvided is a flag that indicates that it is not generated but provided...

@quarkus-bot
Copy link
Copy Markdown

quarkus-bot Bot commented Apr 27, 2026

Status for workflow Quarkus Documentation CI

This is the status report for running Quarkus Documentation CI on commit dca417c.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

Warning

There are other workflow runs running, you probably need to wait for their status before merging.

@quarkus-bot
Copy link
Copy Markdown

quarkus-bot Bot commented Apr 27, 2026

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit dca417c.

✅ The latest workflow run for the pull request has completed successfully.

It should be safe to merge provided you have a look at the other checks in the summary.

You can consult the Develocity build scans.

Copy link
Copy Markdown
Member

@michalvavrik michalvavrik left a comment

Choose a reason for hiding this comment

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

LGTM, thanks

@michalvavrik michalvavrik requested a review from gastaldi April 27, 2026 13:06
@sberyozkin
Copy link
Copy Markdown
Member Author

Thanks @michalvavrik @gastaldi, I had to dismiss a few more false positive alerts related to a possible logging of the token, as no actual token is logged

@sberyozkin sberyozkin merged commit d924b6d into quarkusio:main Apr 27, 2026
38 checks passed
@quarkus-bot quarkus-bot Bot added this to the 3.36 - main milestone Apr 27, 2026
@sberyozkin sberyozkin deleted the spiffe_client_authentication branch April 27, 2026 13:40
@quarkus-bot quarkus-bot Bot added the kind/enhancement New feature or request label Apr 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support for SPIFFE JWT-SVID OIDC client authentication

4 participants