auth: add new jwt authentication support#66
Open
mvo5 wants to merge 1 commit into
Open
Conversation
mvo5
force-pushed
the
jwt-auth
branch
7 times, most recently
from
July 6, 2026 09:08
96dfb61 to
dbd9b87
Compare
keszybz
requested changes
Jul 14, 2026
keszybz
left a comment
Member
There was a problem hiding this comment.
I started looking through this, but a new version was pushed. Those comments might be outdated.
But I see that it still needs another rebase.
mvo5
force-pushed
the
jwt-auth
branch
2 times, most recently
from
July 14, 2026 20:05
56ed889 to
5b0d787
Compare
This commit adds basic support for authentication via a Json Web Token (JWT). This works by adding a new JwtAuthenticator to the bridge. The keys (jwks) can come from a local file or from a URL (and can be auto-discovered). That takes the following parameters (via cli or systemd credentials): ``` --issuer=URL accepted 'iss' claim --audience=ID accepted 'aud' claim (default: hostname) --issuer-jwks=PATH (optional) issuer JWKS file (RS256/ES256 public keys) --require-claim=NAME=VALUE require claim NAME to match VALUE (repeatable) ``` There must be at least one required claim (currently) to ensure the bridge is not too open. In many setups (e.g. GH) the "aud" is caller-controlled so it cannot be a security boundary. Ensure that the issuer claims cannot be forged (e.g. repository= on github OIDC). Note that this is bearer token only for now. Doing PoP (RFC 9421/DPoP) is planned but this commit is already quite long.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit adds basic support for authentication via a
Json Web Token (JWT). This works by adding a new JwtAuthenticator
to the bridge. The keys (jwks) can come from a local file or from
a URL (and can be auto-discovered).
That takes the following parameters (via cli or systemd credentials):
There must be at least one required claim (currently) to ensure
the bridge is not too open. In many setups (e.g. GH) the "aud" is
caller-controlled so it cannot be a security boundary. Ensure that
the issuer claims cannot be forged (e.g. repository= on github
OIDC).
Note that this is bearer token only for now. Doing PoP (RFC 9421/DPoP)
is planned but this commit is already quite long.