first commit
Some checks failed
Code quality checks / biome (push) Failing after 11s

This commit is contained in:
creations 2025-06-10 13:42:39 -04:00
commit 421043c9b5
Signed by: creations
GPG key ID: 8F553AA4320FC711
67 changed files with 3455 additions and 0 deletions

34
src/lib/auth/jwt.ts Normal file
View file

@ -0,0 +1,34 @@
import { createDecoder, createSigner, createVerifier } from "fast-jwt";
import { jwt } from "#environment/jwt";
import type { UserSession } from "#types/config";
class JWTService {
private readonly signer;
private readonly verifier;
private readonly decoder;
constructor() {
this.signer = createSigner({
key: jwt.secret,
expiresIn: jwt.expiration,
});
this.verifier = createVerifier({ key: jwt.secret });
this.decoder = createDecoder();
}
sign(payload: UserSession): string {
return this.signer(payload);
}
verify(token: string): UserSession {
return this.verifier(token);
}
decode(token: string): UserSession {
return this.decoder(token);
}
}
export const jwtService = new JWTService();
export { JWTService };