cairo/lib/services/token.service.ts

16 lines
503 B
TypeScript
Raw Normal View History

2024-08-24 12:41:04 -06:00
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);