Description
Description
I updated from version 8 to 9, and since my RSA keys were not long enough I got the error: "secretOrPrivateKey has a minimum key size of 2048 bits for RS256"
I do not want to change all RSA keys in every environment so I decided to use the flag allowInsecureKeySizes to bypass that new check.
My project is buillt with typescript and if I use that flag with in the options of jwt.sign() method I will see this error:
"TS2769: No overload matches this cal"
Reproduction
jwt.sign({}, privateKey, {
issuer: 'streetcrowd',
subject: provider,
algorithm: 'RS256',
allowInsecureKeySizes: true
});
This is the definition of SignOptions, as you can see, the required flag is missing:
export interface SignOptions {
algorithm?: Algorithm | undefined;
keyid?: string | undefined;
expiresIn?: string | number | undefined;
notBefore?: string | number | undefined;
audience?: string | string[] | undefined;
subject?: string | undefined;
issuer?: string | undefined;
jwtid?: string | undefined;
mutatePayload?: boolean | undefined;
noTimestamp?: boolean | undefined;
header?: JwtHeader | undefined;
encoding?: string | undefined;
}
Environment
- jsonwebtoken 9.0.2
- Node 18