Skip to content

Commit aff477d

Browse files
authored
fix FastifyJWTOptions.secret property type (#102)
1 parent 5cb7c21 commit aff477d

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

jwt.d.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,11 @@ declare module 'fastify' {
5959
}
6060
}
6161

62+
type Secret = jwt.Secret | ((request: fastify.FastifyRequest, reply: fastify.FastifyReply, cb: (e: Error | null, secret: string | undefined) => void) => void);
63+
6264
declare namespace fastifyJWT {
6365
export interface FastifyJWTOptions {
64-
secret: jwt.Secret | { public: jwt.Secret; private: jwt.Secret };
66+
secret: Secret | { public: Secret; private: Secret };
6567
decode?: jwt.DecodeOptions;
6668
sign?: jwt.SignOptions;
6769
verify?: jwt.VerifyOptions & { extractToken?: (request: fastify.FastifyRequest) => string | void; };

jwt.test-d.ts

+16-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,22 @@ import { expectAssignable } from 'tsd'
55
const app = fastify();
66

77
const jwtOptions: FastifyJWTOptions = {
8-
secret: process.env.usePublicPrivateKeys ? "supersecret" : { public: 'publicKey', private: 'privateKey' },
8+
secret: {
9+
secret: 'supersecret',
10+
publicPrivateKey: {
11+
public: 'publicKey',
12+
private: 'privateKey'
13+
},
14+
secretFn: (_req, _rep, cb) => { cb(null, 'supersecret') },
15+
publicPrivateKeyFn: {
16+
public: (_req, _rep, cb) => { cb(null, 'publicKey') },
17+
private: 'privateKey'
18+
},
19+
publicPrivateKeyFn2: {
20+
public: 'publicKey',
21+
private: (_req, _rep, cb) => { cb(null, 'privateKey') },
22+
}
23+
}[process.env.secretOption!],
924
sign: {
1025
expiresIn: '1h'
1126
},

0 commit comments

Comments
 (0)