You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I’ve encountered an issue with the JWT plugin when using multiple secrets under a KongConsumer during the JWT signing key rotation. Kong appears to process the secrets in reverse order (from bottom to top in the credentials list). If the first (bottom) secret is close to expiration but still technically valid, Kong will validate it first and ignore newer secrets, leading to an "Invalid signature" error once that secret expires. All these K8s secrets have the same issuer(.data.key).
Expected Behavior
Kong should search for a valid secret for JWT token validation, rather than use the fixed order.
Steps To Reproduce
Configure a KongConsumer with multiple JWT secrets:
@yang-wang11 KIC's webhook will validate ALL credentials configured in KongConsumer. If any of the credentials is invalid, KIC will reject this KongConsumer.
If you want to rotate JWT key in KongConsumer, please remove the old-jwt-secret when you enable new JWT key in the new secret.
Is there an existing issue for this?
Current Behavior
I’ve encountered an issue with the JWT plugin when using multiple secrets under a KongConsumer during the JWT signing key rotation. Kong appears to process the secrets in reverse order (from bottom to top in the credentials list). If the first (bottom) secret is close to expiration but still technically valid, Kong will validate it first and ignore newer secrets, leading to an "Invalid signature" error once that secret expires. All these K8s secrets have the same issuer(
.data.key
).Expected Behavior
Kong should search for a valid secret for JWT token validation, rather than use the fixed order.
Steps To Reproduce
Once the
old-jwt-secret
has expired, Kong still attempts to validate it first.Requests return "Invalid signature" errors despite credentials contain
new-jwt-secret
.Kong Ingress Controller version
Kubernetes version
Anything else?
No response
The text was updated successfully, but these errors were encountered: