Files
tatort/src/lib/auth.ts
2025-06-10 14:33:40 +02:00

30 lines
635 B
TypeScript

import jwt from 'jsonwebtoken';
import config from '$lib/config';
const SECRET = config.jwt.secret;
const EXPIRES_IN = config.jwt.expiresIn;
const AUTH = config.auth;
export function createToken(userData) {
return jwt.sign(userData, SECRET, { expiresIn: EXPIRES_IN });
}
export function decryptToken(token: string) {
return jwt.verify(token, SECRET);
}
export function authenticate(user, pass) {
let userData = null;
if (AUTH[user]) {
const { password, ...data } = AUTH[user];
if (password && password === pass) userData = data;
}
if (userData == null) return null;
return createToken({ id: user, ...userData });
}