mise en place de la vérification du tioken d\'authntification

This commit is contained in:
2026-04-01 18:56:13 +02:00
parent 915f9e864e
commit 2f9c7d4f53
3 changed files with 26 additions and 0 deletions

View File

@@ -22,4 +22,7 @@ export const Errors = {
INVALID_TOKEN: new AppError('INVALID_TOKEN', 400, 'Invalid or already used token'),
TOKEN_EXPIRED: new AppError('TOKEN_EXPIRED', 400, 'Token has expired'),
ALREADY_CONFIRMED: new AppError('ALREADY_CONFIRMED', 400, 'User is already confirmed'),
//Auth errors
UNAUTHORIZED: new AppError('UNAUTHORIZED', 401, 'Non authentifié'),
}

View File

@@ -0,0 +1,16 @@
import { FastifyRequest, FastifyReply } from 'fastify'
import { verifyAuthToken } from '../services/authToken.service.js'
import { Errors } from '../errors/AppError.js'
export async function verifyAuth(request: FastifyRequest, reply: FastifyReply) {
const token = request.cookies['authToken']
if (!token) throw Errors.UNAUTHORIZED
try {
const payload = await verifyAuthToken(request.server, request.server.prisma, token)
request.user = payload
} catch {
throw Errors.UNAUTHORIZED
}
}

View File

@@ -4,4 +4,11 @@ declare module 'fastify' {
interface FastifyInstance {
prisma: PrismaClient
}
interface FastifyRequest {
user: {
userId: string
tokenVersion: number
}
}
}