16 lines
503 B
TypeScript
16 lines
503 B
TypeScript
|
import jwt, { Secret, SignOptions } from "jsonwebtoken";
|
||
|
|
||
|
export function signToken(payload: object, signingKey: Secret, options: SignOptions = {}) {
|
||
|
return jwt.sign(payload, signingKey, {
|
||
|
...{ algorithm: "RS256" },
|
||
|
...options,
|
||
|
});
|
||
|
}
|
||
|
|
||
|
export function verifyToken(token: string, signingKey: Secret) {
|
||
|
return jwtVerify(token, signingKey) ?? undefined;
|
||
|
}
|
||
|
|
||
|
const jwtVerify = (token: string, key: Secret): any =>
|
||
|
jwt.verify(token, key, (err: any, decoded: any) => (!err && decoded) || null);
|