Open jvisker opened 1 year ago
Hi, please upgrade to 2.x as we have done some major reworking in the JWKs logic. Thanks!
I can confirm a similar experience with JWT access tokens. After performing a key rotation, refresh tokens still use the old kid
but are signed by the new key.
I'm not sure if I'm following right, but a quick attempt to debug leads me to maybe these places:
When generating an access token with the JWT strategy, it looks like the headers from the existing JWT session get copied over.
@tilgovi What version of Hydra are you using?
v2.2.0, the latest release
Preflight checklist
Describe the bug
When requesting a refresh token we are seeing a case where the headers of the included id_token state one KID value, but in reality it is signed by a newer KID. This behavior occurs with refresh tokens that existed before we added a new keyset for "hydra.openid.id-token". I have been trying to parse through the source code, but I think the crux of the issues is KID is saved in the session and when a new keyset is added it is unaware. If this was a bug that you fixed in a newer version that would be great to know as well. I acknowledge that this may be user error on our part, but I can't figure out how it could be.
Reproducing the bug
For us the steps to reproduce are:
Relevant log output
No response
Relevant configuration
No response
Version
1.11.8
On which operating system are you observing this issue?
Linux
In which environment are you deploying?
Docker
Additional Context
No response