Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
Take clock skew into account in revocation lifetimes
Basics
Logistics
Basics
Logistics
Description
The lifetimes for revocation records are currently taken either from the revocation profile configuration (when revoking the chain), or via expiration time of the token (when revoking a single token, possible since 3.2.0). The revocation lifetime calculation should also take configurable clock skew into account, as the clock skew value is already considered during the token claims set validation in userinfo, introspection and revocation endpoints.
Environment
None
Activity
Henri Mikkonen
July 7, 2022 at 12:33 PM
(edited)
This fix is very important for deployments that has enabled the use of JWT access tokens with revocation and has the revocation method set to "TOKEN". This method was introduced in 3.2.0. Before this fix with this configuration, an expired revocation record may have been cleaned out by the storage cleanup process, even though the clock skew allows the expired JWT access token to still be accepted in introspection and userinfo endpoints.
Clock skew is not currently allowed for opaque tokens, so they're not similarly affected.
Henri Mikkonen
July 6, 2022 at 12:26 PM
The default functions for fetching token and chain revocation lifetime now add configurable clock skew plus additional 5 minutes into the lifetimes. Those functions are now wired to the SWF actions that performs revocations (RevokeToken in the revocation flow and ValidateGrant/SetRefreshTokenToResponseContext in the token flow) in a way that the clock skew value is taken from the idp.policy.clockSkew property.
The lifetimes for revocation records are currently taken either from the revocation profile configuration (when revoking the chain), or via expiration time of the token (when revoking a single token, possible since 3.2.0). The revocation lifetime calculation should also take configurable clock skew into account, as the clock skew value is already considered during the token claims set validation in userinfo, introspection and revocation endpoints.