Skip to content

Widen revoked_token.jti to store external-issuer token identifiers - #73562

Merged
potiuk merged 1 commit into
apache:mainfrom
astronomer:widen-revoked-token-jti
Sep 23, 2026
Merged

potiuk merged 1 commit into
apache:mainfrom
astronomer:widen-revoked-token-jti

Conversation

@pierrejeambrun

Copy link
Copy Markdown
Member

The revoked_token.jti column stores the JWT jti (token identifier) recorded when a token is revoked. It was sized String(32) to fit Airflow's own uuid4().hex identifiers.

External identity providers accepted through [api_auth] trusted_jwks_url mint longer jti claims — RFC 4122 UUIDs are 36 characters, and other issuers use longer opaque identifiers. These overflow the 32-character column and raise a DataError on databases that enforce length (PostgreSQL, MySQL), so those tokens could not be recorded in the table.

This widens the column to String(255), which fits any realistic identifier while staying within the MySQL primary-key index limit, and adds the corresponding migration.


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Opus 4.8)

Generated-by: Claude Code (Opus 4.8) following the guidelines

@pierrejeambrun pierrejeambrun added this to the Airflow 3.4.0 milestone Sep 23, 2026
@pierrejeambrun
pierrejeambrun marked this pull request as ready for review September 23, 2026 11:12
The column stored the JWT jti recorded when a token is revoked, sized at 32 characters to fit Airflow's own uuid4().hex. External identity providers accepted via [api_auth] trusted_jwks_url mint longer jti claims -- RFC 4122 UUIDs are 36 characters -- which overflow the column and raise a DataError on databases that enforce length (PostgreSQL, MySQL), so those tokens could not be recorded. Widening to 255 fits any realistic identifier while staying within the MySQL primary-key index limit.
@potiuk
potiuk merged commit 8808357 into apache:main Sep 23, 2026
78 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants