feat: add support for asymmetrical url signing keys, auth style key rotation and well-known - #1257
Open
itslenny wants to merge 4 commits into
Open
feat: add support for asymmetrical url signing keys, auth style key rotation and well-known#1257itslenny wants to merge 4 commits into
itslenny wants to merge 4 commits into
Conversation
This comment has been minimized.
This comment has been minimized.
Coverage Report for CI Build 32157055349Coverage increased (+0.1%) to 81.29%Details
Uncovered Changes
Coverage Regressions1 previously-covered line in 1 file lost coverage.
Coverage Stats💛 - Coveralls |
itslenny
force-pushed
the
lenny/jwks-support-standby-key-and-asymmetric-keys
branch
5 times, most recently
from
July 29, 2026 19:31
868168d to
385ef32
Compare
itslenny
force-pushed
the
lenny/jwks-support-standby-key-and-asymmetric-keys
branch
from
July 31, 2026 21:05
385ef32 to
81b3ff4
Compare
itslenny
force-pushed
the
lenny/jwks-support-standby-key-and-asymmetric-keys
branch
3 times, most recently
from
August 4, 2026 20:47
911b0a0 to
22eead5
Compare
ferhatelmas
reviewed
Aug 5, 2026
ferhatelmas
reviewed
Aug 5, 2026
ferhatelmas
reviewed
Aug 5, 2026
ferhatelmas
reviewed
Aug 5, 2026
ferhatelmas
reviewed
Aug 5, 2026
ferhatelmas
reviewed
Aug 5, 2026
ferhatelmas
reviewed
Aug 5, 2026
itslenny
force-pushed
the
lenny/jwks-support-standby-key-and-asymmetric-keys
branch
from
August 7, 2026 17:17
22eead5 to
5d8582b
Compare
itslenny
force-pushed
the
lenny/jwks-support-standby-key-and-asymmetric-keys
branch
from
August 7, 2026 17:48
5d8582b to
244508d
Compare
ferhatelmas
reviewed
Aug 10, 2026
ferhatelmas
reviewed
Aug 10, 2026
ferhatelmas
reviewed
Aug 10, 2026
ferhatelmas
reviewed
Aug 10, 2026
ferhatelmas
reviewed
Aug 10, 2026
ferhatelmas
reviewed
Aug 10, 2026
itslenny
force-pushed
the
lenny/jwks-support-standby-key-and-asymmetric-keys
branch
from
August 11, 2026 16:47
244508d to
f3ee36f
Compare
itslenny
force-pushed
the
lenny/jwks-support-standby-key-and-asymmetric-keys
branch
from
August 11, 2026 17:11
f3ee36f to
7168637
Compare
ferhatelmas
reviewed
Aug 11, 2026
ferhatelmas
reviewed
Aug 11, 2026
ferhatelmas
reviewed
Aug 11, 2026
itslenny
force-pushed
the
lenny/jwks-support-standby-key-and-asymmetric-keys
branch
from
August 13, 2026 13:55
7168637 to
36ef6d4
Compare
ferhatelmas
reviewed
Aug 13, 2026
ferhatelmas
reviewed
Aug 13, 2026
ferhatelmas
reviewed
Aug 13, 2026
ferhatelmas
reviewed
Aug 13, 2026
itslenny
force-pushed
the
lenny/jwks-support-standby-key-and-asymmetric-keys
branch
2 times, most recently
from
August 14, 2026 20:40
b793725 to
1ac6475
Compare
itslenny
force-pushed
the
lenny/jwks-support-standby-key-and-asymmetric-keys
branch
from
August 18, 2026 15:52
1ac6475 to
6840d1d
Compare
ferhatelmas
reviewed
Aug 20, 2026
Comment on lines
530
to
532
| const signingSecret = JWT_HMAC_ALGOS.includes(alg) | ||
| ? await getPreparedJWTSigningKey(secret, alg) | ||
| : await importJWK(secret) |
Member
There was a problem hiding this comment.
this becomes statistically true with the feature, we should use the cached one unconditionally, it already handles internally
ferhatelmas
reviewed
Aug 20, 2026
Comment on lines
+180
to
+182
| if (typeof urlSigningKey !== 'string' && kid === urlSigningKey.kid) { | ||
| return reply.status(409).send({ error: 'Cannot deactivate the current url signing key' }) | ||
| } |
Member
There was a problem hiding this comment.
nit: shall we add active:true into condition as noop?
Member
There was a problem hiding this comment.
noting, this is using cached version, should we keep this check in db layer just in case?
ferhatelmas
reviewed
Aug 20, 2026
| if (typeof urlSigningKey !== 'string' && kid === urlSigningKey.kid) { | ||
| return reply.status(409).send({ error: 'Cannot deactivate the current url signing key' }) | ||
| } | ||
| const result = await jwksManager.toggleJwkActive(tenantId, kid, active) |
Member
There was a problem hiding this comment.
nit: this can throw 500 if already existing active. By normal client, it won't be the case but might be better to catch and return 400/409
ferhatelmas
reviewed
Aug 20, 2026
| } | ||
| } | ||
|
|
||
| interface JwksGenerateStandbyRequestInterface extends RequestGenericInterface { |
Member
There was a problem hiding this comment.
nit: this seems same with JwksRollRequestInterface
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.
What kind of change does this PR introduce?
Feature
What is the current behavior?
What is the new behavior?
.well-known/jwks.jsonso asymmetric keys can be validated at the gateway