import jwt from "jsonwebtoken"; import { User } from "./entities/user"; export function generateSignInUrl(user: User) { const token = generateSignInToken(user); return `${process.env.APP_URL}/auth/verify?token=${token}`; } function generateSignInToken(user: User) { const payload = { type: "magic", id: user.id, email: user.email, }; return jwt.sign( payload, process.env.JWT_SECRET, { issuer: "capsulecorp.dev", algorithm: "HS256", expiresIn: "30m", }, ); } export function verifyToken(token: string) { return jwt.verify( token, process.env.JWT_SECRET, { issuer: "capsulecorp.dev", algorithms: ["HS256"], }, ) as Pick; }