mirror of
https://github.com/khairul169/code-share.git
synced 2025-04-29 00:59:37 +07:00
27 lines
679 B
TypeScript
27 lines
679 B
TypeScript
import jwt from "jsonwebtoken";
|
|
|
|
const JWT_KEY =
|
|
process.env.JWT_KEY || "e2b185bd471dda7a14cb8d9cfb8d1c568ac27926";
|
|
|
|
export type TokenData = {
|
|
id: number;
|
|
};
|
|
|
|
export const createToken = (payload: TokenData) => {
|
|
return new Promise<string>((resolve, reject) => {
|
|
jwt.sign(payload, JWT_KEY, { expiresIn: "30d" }, function (err, token) {
|
|
if (err) return reject(err);
|
|
resolve(token as string);
|
|
});
|
|
});
|
|
};
|
|
|
|
export const verifyToken = (token: string) => {
|
|
return new Promise<TokenData>((resolve, reject) => {
|
|
jwt.verify(token, JWT_KEY, function (err, decoded) {
|
|
if (err) return reject(err);
|
|
resolve(decoded as TokenData);
|
|
});
|
|
});
|
|
};
|