Open
Description
Prerequisites
- I have written a descriptive issue title
- I have searched existing issues to ensure the bug has not already been reported
Fastify version
4.27.0
Plugin version
8.0.1
Node.js version
20.13.1
Operating system
Linux
Operating system version (i.e. 20.04, 11.3, 10)
alpine3.18
Description
I am unable to set a custom secret key for jwt tokens when calling
request.jwtVerify<Payload>({decode: {}, verify: { key: 'override' }})
The verify function still expects the key to be the same as set when registering fastifyJwt
to fastify
.
Example code:
fastify.register(fastifyJwt, {
secret: 'hunter2'
}
...
fastify.get('/verify', function (request, reply) {
const jwt = await request.jwtVerify<Payload>({decode: {}, verify: {key: 'override'}})
}
Above request fails when signing the JWT token with override
, the original secret works.
Using the debugger I can see the override key is passed to jwt.js, however it is never set in const verifierOptions = mergeOptionsWithKey(options.verify || options, secretOrPublicKey)
.
Link to code that reproduces the bug
No response
Expected Behavior
One would expect that request.jwtVerify<Payload>({decode: {}, verify: { key: 'override' }})
will use the key specified in options.
Metadata
Metadata
Assignees
Labels
No labels