duckil_plm/fems-app/src/lib/jwt.ts

25 lines
552 B
TypeScript
Raw Normal View History

2024-11-02 18:01:31 +09:00
// src/lib/jwt.ts
import * as jose from "jose";
import { UserRole } from "@/types/auth";
interface JwtPayload {
id: string;
role: UserRole;
companyId: string;
branchId: string;
}
export function decodeToken(token: string): JwtPayload | null {
try {
// jose를 사용한 디코딩
const decoded = jose.decodeJwt(token);
const payload = decoded as unknown as JwtPayload;
if (payload.id && payload.role && payload.companyId && payload.branchId) {
return payload;
}
return null;
} catch {
return null;
}
}