Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypeError: Right hand side of instanceof is not an object #939

Open
176noud opened this issue Sep 10, 2023 · 11 comments
Open

TypeError: Right hand side of instanceof is not an object #939

176noud opened this issue Sep 10, 2023 · 11 comments

Comments

@176noud
Copy link

176noud commented Sep 10, 2023

jsonwebtoken@9.0.0 => jsonwebtoken@9.0.2
bunjs typescript

When generating a token using the jsonwebtoken library instead of returning a valid token it returns an error:
103 | 104 | if (!secretOrPrivateKey && options.algorithm !== 'none') { 105 | return failure(new Error('secretOrPrivateKey must have a value')); 106 | } 107 | 108 | if (secretOrPrivateKey != null && !(secretOrPrivateKey instanceof KeyObject)) { ^ TypeError: Right hand side of instanceof is not an object at /home/d/Desktop/smth/v5/node_modules/jsonwebtoken/sign.js:108:38 at /home/d/Desktop/smth/v5/index.ts:48:32 at processTicksAndRejections (:1:2602) POST - http://localhost:8080/api/auth/register failed

Using valid code: const token = await jwt.sign({ username: username }, jwtSecret);

Returns a jwt token on versions prior to 9.0.0, preferably 8.5.1 works without issues.

@shakhzodkudratov
Copy link

facing exactly the same issue

@AlexRoosWork
Copy link

AlexRoosWork commented Sep 12, 2023

me three, not using bun btw
(also using v9.0.2)

and yes, I can confirm that downgrading to 8.5.1 fixes this issue.

@ehuff700
Copy link

ehuff700 commented Sep 13, 2023

Also using Bun and this issue is happening for me as well.

EDIT: Coming back to this to mention that migrating to https://github.com/panva/jose fixed this issue for me.

EDIT 2: Found the issue, this will be broken for all bun users: https://bun.sh/docs/runtime/nodejs-apis#node-crypto. A CTRL+F shows that KeyObject, createSecretKey, and createPrivateKey are all missing... Those are requirements of sign.js

@im-not-developer
Copy link

be faced with the same problem.

@iraycd
Copy link

iraycd commented Oct 9, 2023

It's a issue with Bun:
oven-sh/bun#4983

I have updated to "FROM oven/bun:canary" on Dockerfile.
This resolved the issue.

@Gnex77
Copy link

Gnex77 commented Oct 20, 2023

I am also seeing this error in the version 9.0.2. Not using bun. Using node v18.18.2. When I set the version to 8.5.1 error goes away. Please look into this issue, I would like to use the latest version of the library.

@mrksph
Copy link

mrksph commented Nov 5, 2023

Same here, deleted node_modules, reinstalled all dependencies and still got the same error. Will be trying to downgrade

I use NVM but I only have two node versions installed

PS D:\workspace\> nvm ls

    18.12.1
  * 16.20.0 (Currently using 64-bit executable)
next.js 13.5.6
npm 8.19.4
node v16.20.0
jsonwebtoken 9.0.2

const decoded = jwt.verify(token, '{{SECRET}}');

TypeError: Right-hand side of 'instanceof' is not an object

Edit: After downgrading jsonwebtoken to 8.5.1 it works but I don't expect having to downgrade

@wissenstein
Copy link

Hi!
I am using the following environment:

yarn 1.22.19
npm 10.1.0
node 20.8.0
jsonwebtoken 9.0.2

When I try to execute the following line:

const token = jwt.verify(accessToken, 'secret');

I get the following error:

TypeError: Right-hand side of 'instanceof' is not an object

Can you check please?

@eric-sison
Copy link

Facing the same issue.

next: 14.1.0
node: 20.9.0
npm: 10.1.0
jsonwebtoken: ^9.0.2
@types/jsonwebtoken: ^9.0.5

@alexkirillovtech
Copy link

alexkirillovtech commented Feb 26, 2024

Facing same issue

    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-i18next": "^11.18.5",
    "react-router-dom": "^6.2.1",
    "ua-parser-js": "^1.0.32",
    "webpack-dev-middleware": "^4.3.0",
    "jsonwebtoken": "^9.0.2"

@johannchopin-buyco
Copy link

Hey @jakelacey2012 👋 Could you please tell us what's the status on this one as v9 is definitely broken? Thanks for the work put on this package by the way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests