Prerequisites
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.
Prerequisites
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
fastifyJwttofastify.Example code:
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.