feature: support negative expiresIn when signing tokens#556
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR updates the token signing logic to support negative expiresIn values, which allows generating tokens with an already passed expiration time.
- Added tests to verify behavior with negative expiresIn values in both the token verification and signing flows
- Modified validation logic in the signer to allow negative expiresIn values
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| test/verifier.spec.js | Added a test case to verify rejection of tokens with negative exp |
| test/signer.spec.js | Added a test for signing tokens with negative expiresIn and removed validation tests that expected negative values to throw errors |
| src/signer.js | Updated the validation logic to permit negative numbers for expiresIn |
Comments suppressed due to low confidence (1)
src/signer.js:237
- Now that negative expiresIn values are supported, consider updating the error message to remove the 'positive' requirement to prevent potential confusion.
if (typeof expiresIn !== 'number' || expiresIn < 0) {
simoneb
approved these changes
Mar 31, 2025
Member
simoneb
left a comment
There was a problem hiding this comment.
LGTM, can you do a quick check if this is explicitly supported in the
Contributor
Author
|
@simoneb From a quick check there is not anything in the spec to say that negative or exp in the past are not allowed |
Member
|
@agubler I didn't actually want to post that comment, after verifying that we're good with negative exps :) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Supports negative
expiresInoption when signing tokensResolves #555