Spaces:
Sleeping
Sleeping
| import jwt from "jsonwebtoken"; | |
| import { Request } from "express"; | |
| import { config } from "../config"; | |
| interface JwtPayload { | |
| userId: string; | |
| } | |
| export function getUserIdFromToken(req: Request): string | null { | |
| try { | |
| const token = req.headers.authorization?.split(" ")[1]; | |
| if (!token) { | |
| throw new Error("Token not found"); | |
| } | |
| const decoded = jwt.verify(token, config.jwtSecret) as JwtPayload; | |
| return decoded.userId; | |
| } catch (error) { | |
| console.error("Invalid token:", error); | |
| return null; | |
| } | |
| } | |