cairo/lib/services/token.service.ts
Dunemask 0fc5f05b6a
Some checks failed
Deploy Edge / deploy-edge (push) Failing after 2s
S3 Repo Backup / s3-repo-backup (push) Failing after 2s
[INIT] Initial Project Structure
2024-08-24 12:41:04 -06:00

15 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);