Expose expires on in attestation token #5739 #5741
Open
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.
Fixes #5739
Changes proposed in this request
This pull request enhances the attestation result returned by the attestation client to include structured token expiry information, making it easier for caching based on the expiration of attestation JWTs without manual decoding. The main changes introduce a new
AttestationTokentype, extract expiry from JWTs, and update code and tests to use the new structure.Attestation result structure and expiry extraction:
AttestationTokenrecord that encapsulates the raw JWT and its expiration (ExpiresOn), allowing structured access to expiry metadata.AttestationResultrecord to include the newTokenproperty, and updated all usages and documentation to reflect this addition. The originalJwtstring is retained for backward compatibility. [1] [2]JwtClaimExtractorutility class to extract theexp(expiration) claim from JWT payloads using existing MSAL utilities.Attestation client and error handling updates:
AttestationClient.Attestto extract the expiry from the JWT, populate the newAttestationToken, and update all error paths to use the new result structure. [1] [2] [3]PopKeyAttestorand unit tests to constructAttestationResultwith the newTokenproperty, ensuring consistency across the codebase. [1] [2]Testing
Updated existing tests.
Performance impact
none
Documentation