TypeError: validator.isValid is not a function
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 10/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- express, javascript, node.js, typescript
- Domain
- api, authentication, backend
Research direction
Start with the linked issue comment and the referenced authentication.services.ts line, then inspect the jsonwebtoken.sign call alongside the lodash import and the reported package versions. The issue states that the problem was found and fixed; done would require confirming that resolution and documenting or testing the dependency interaction.
Written by the indexing model from the issue text.
Description
ISSUE WAS FOUND AND FIXED - LOOK HERE https://github.com/auth0/node-jsonwebtoken/issues/927#issuecomment-1694701319
Description
Basically whenever I try to run jsonwebtoken.sign() in typescript it gives me an error. Running the code in a simple javascript code runner works perfectly fine.
I have been trying to debug this for a couple of days now, can't seem to figure it out.
Reproduction
Link to code I am working with: https://github.com/tonykaram1993/typescript-express-starter/blob/e6975e805f7f5b332e389d723d63a5641959ce15/src/services/authentication.services.ts#L64
The error log and a couple of log messages above it so you are able to see what is passed:
[watch]
[watch]
[watch] 2:42:24 PM - Found 0 errors. Watching for file changes.
[server] info: Server is running at https://localhost:5000
[server] info: Connected to MongoDB! [mongodb://localhost:27017/typescript]
[server] TKCL - JWT_TOKEN_SECRET: secretsecretsecretsecretsecretsecretsecret
[server] TKCL - data: {
[server] email: 'john@thedoes.com',
[server] passwordHash: '$2b$10$E.w9gKA4KsZU1LdN0KN99eCvAyteG/.xboV.ppGoh3gmiVWsJPyIi',
[server] salt: '$2b$10$E.w9gKA4KsZU1LdN0KN99e',
[server] _id: new ObjectId("64cf8723a2210d51f1731e86"),
[server] __v: 0
[server] }
[server] TKCL - settingsConfig.AUTHENTICATION.jwtTokenExpiry: 1h
[server] POST /authentication/signup 500 72.621 ms - 1051
[server] POST /authentication/signup 500 72.621 ms - 1051
[server] TypeError: validator.isValid is not a function
[server] at /Users/tk/Repositories/typescript-starter/node_modules/jsonwebtoken/sign.js:49:22
[server] at Array.forEach (<anonymous>)
[server] at validate (/Users/tk/Repositories/typescript-starter/node_modules/jsonwebtoken/sign.js:41:6)
[server] at validatePayload (/Users/tk/Repositories/typescript-starter/node_modules/jsonwebtoken/sign.js:60:10)
[server] at Object.module.exports [as sign] (/Users/tk/Repositories/typescript-starter/node_modules/jsonwebtoken/sign.js:138:7)
[server] at Object.generateJwtToken (/Users/tk/Repositories/typescript-starter/dist/src/services/authentication.services.js:31:45)
[server] at signup (/Users/tk/Repositories/typescript-starter/dist/src/controllers/authentication.controllers.js:29:56)
[server] at processTicksAndRejections (node:internal/process/task_queues:96:5)
Environment
Library version:
"@types/jsonwebtoken": "^9.0.2",
"jsonwebtoken": "^9.0.1",
Express version:
"express": "^4.18.2",
"@types/express": "^4.17.14",
Running macOs 13.4.1 on MacBook Pro 16" M1 Pro.
Happy to answer any questions.
EDIT: an update about a comment i left below https://github.com/auth0/node-jsonwebtoken/issues/927#issuecomment-1694451532
Alright, so I have an update regarding this.
I have been debugging for a week now (on and off), and I found something.
When I remove the following line https://github.com/tonykaram1993/typescript-express-starter/blob/feature/authentication/src/services/authentication.services.ts#L3C1-L3C38 - basically stop using lodash in the file where jsonwebtoken.sign is called, everything works totally fine. Everything also works when I import lodash but not use it in the file.
So importing lodash breaks jsonwebtoken? Did I do something wrong that I need to change?
- Dominant language
- JavaScript
- Stars
- 18.2k
- Forks
- 1.3k
- PR merge metrics
- No merged PRs in 30d
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from auth0/node-jsonwebtoken
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
auth0/node-jsonwebtoken#1042 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
auth0/node-jsonwebtoken#1000 · 2 comments · 1 reaction ·
-
Difficulty 4/5 3-5 days Newbie friendliness 65/100
auth0/node-jsonwebtoken#1046 ·
-
Difficulty 5/5 Over a week Newbie friendliness 10/100
auth0/node-jsonwebtoken#1034 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 48/100
auth0/node-jsonwebtoken#1032 ·
All issues in auth0/node-jsonwebtoken
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
mksglu/context-mode#1200 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
neondatabase/website#5944 ·
-
module: core
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
bigbluebutton/bigbluebutton#25849 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
jaegertracing/jaeger-ui#4506 ·