fix: login was KO by profile
This commit is contained in:
@@ -1,11 +1,9 @@
|
||||
import { NextRequest, NextResponse } from "next/server";
|
||||
import { cookies } from "next/headers";
|
||||
import { userService } from "@/services/user-service";
|
||||
import { AuthService, COOKIE_NAME } from "@/services/auth-service";
|
||||
import { UserProfile } from "@/lib/types";
|
||||
|
||||
const COOKIE_NAME = "peakSkills_userId";
|
||||
const COOKIE_MAX_AGE = 30 * 24 * 60 * 60; // 30 jours
|
||||
|
||||
/**
|
||||
* GET /api/auth - Récupère l'utilisateur actuel depuis le cookie
|
||||
*/
|
||||
@@ -51,20 +49,10 @@ export async function POST(request: NextRequest) {
|
||||
);
|
||||
}
|
||||
|
||||
// Vérifier s'il y a déjà un cookie d'authentification
|
||||
const cookieStore = await cookies();
|
||||
const existingUserUuid = cookieStore.get(COOKIE_NAME)?.value;
|
||||
|
||||
let userUuid: string;
|
||||
|
||||
if (existingUserUuid) {
|
||||
// Mettre à jour l'utilisateur existant
|
||||
await userService.updateUserByUuid(existingUserUuid, profile);
|
||||
userUuid = existingUserUuid;
|
||||
} else {
|
||||
// Créer un nouvel utilisateur
|
||||
userUuid = await userService.upsertUserUuid(profile);
|
||||
}
|
||||
// Authentifier l'utilisateur et récupérer la configuration du cookie
|
||||
const { userUuid, cookieConfig } = await AuthService.authenticateUser(
|
||||
profile
|
||||
);
|
||||
|
||||
// Créer la réponse avec le cookie
|
||||
const response = NextResponse.json(
|
||||
@@ -75,14 +63,12 @@ export async function POST(request: NextRequest) {
|
||||
{ status: 200 }
|
||||
);
|
||||
|
||||
// Définir le cookie avec l'UUID utilisateur (plus sécurisé)
|
||||
response.cookies.set(COOKIE_NAME, userUuid, {
|
||||
maxAge: COOKIE_MAX_AGE,
|
||||
httpOnly: true,
|
||||
secure: process.env.NODE_ENV === "production",
|
||||
sameSite: "lax",
|
||||
path: "/",
|
||||
});
|
||||
// Définir le cookie avec l'UUID utilisateur
|
||||
response.cookies.set(
|
||||
cookieConfig.name,
|
||||
cookieConfig.value,
|
||||
cookieConfig.options
|
||||
);
|
||||
|
||||
return response;
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user