From 52aab425fa2c3b3757f560dfce9d1b821a012a5e Mon Sep 17 00:00:00 2001 From: Stephanie Gredell Date: Sat, 29 Nov 2025 20:19:47 -0800 Subject: [PATCH] Fix TypeScript JWT type errors with proper type assertions --- backend/src/services/auth.service.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/backend/src/services/auth.service.ts b/backend/src/services/auth.service.ts index 3e3e804..33c69a3 100644 --- a/backend/src/services/auth.service.ts +++ b/backend/src/services/auth.service.ts @@ -1,4 +1,4 @@ -import jwt from 'jsonwebtoken'; +import jwt, { Secret, SignOptions } from 'jsonwebtoken'; import bcrypt from 'bcrypt'; import crypto from 'crypto'; import { env } from '../config/env.js'; @@ -8,16 +8,16 @@ export async function createTokens(userId: number, username: string) { // Access token (short-lived) const accessToken = jwt.sign( { userId, username, type: 'access' }, - env.jwtSecret, - { expiresIn: env.accessTokenExpiry as string } + env.jwtSecret as Secret, + { expiresIn: env.accessTokenExpiry } as SignOptions ); // Refresh token (long-lived) const refreshTokenValue = crypto.randomBytes(64).toString('hex'); const refreshToken = jwt.sign( { token: refreshTokenValue, userId, type: 'refresh' }, - env.jwtRefreshSecret, - { expiresIn: env.refreshTokenExpiry as string } + env.jwtRefreshSecret as Secret, + { expiresIn: env.refreshTokenExpiry } as SignOptions ); // Store refresh token in database @@ -58,8 +58,8 @@ export async function refreshAccessToken(refreshToken: string) { // Generate new access token const accessToken = jwt.sign( { userId: tokenData.user_id, username: tokenData.username, type: 'access' }, - env.jwtSecret, - { expiresIn: env.accessTokenExpiry as string } + env.jwtSecret as Secret, + { expiresIn: env.accessTokenExpiry } as SignOptions ); return { accessToken };