Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Token encoded with empty string payload throw invalid token error on verify()

Open
#800 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
javascript

Research direction

Start at verify.js around line 75 and trace how the empty payload produced by jwt.sign('', 'someKey') is parsed by jwt.verify(). Compare the two entry points against the reproduction; done when an empty payload is either verifiable as '' or rejected during signing rather than producing an unverifiable token.

Written by the indexing model from the issue text.

Description

Description

When you sign a key with an empty string as a payload, the verification throws JsonWebTokenError: invalid token. Instead, I expect it to return the empty string, ''. If this can't be accomplished, then I think it should fail to sign with some sort of invalid payload error. I wouldn't expect it to be possible to sign something that cannot be verified.

Reproduction
> jwt.sign('', 'someKey')
'eyJhbGciOiJIUzI1NiJ9..4Q39XnmJ95pIs0bJ05Gq_byy31eRYSrlmhrgKI5FHkk'
> jwt.verify('eyJhbGciOiJIUzI1NiJ9..4Q39XnmJ95pIs0bJ05Gq_byy31eRYSrlmhrgKI5FHkk', 'someKey')
Thrown:
JsonWebTokenError: invalid token
    at Object.module.exports [as verify] (/home/project/node_modules/jsonwebtoken/verify.js:75:17) {
  name: 'JsonWebTokenError',
  message: 'invalid token'
}
Environment

jsonwebtoken: 8.5.1
node v12.13.0

Dominant language
JavaScript
Stars
18.2k
Forks
1.3k
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from auth0/node-jsonwebtoken

All issues in auth0/node-jsonwebtoken

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.