33 lines
933 B
TypeScript
33 lines
933 B
TypeScript
import { cookies } from "next/headers";
|
|
// Constantes pour les cookies (définies ici car auth-service.ts a été supprimé)
|
|
export const COOKIE_NAME = "peakSkills_userId";
|
|
export const COOKIE_MAX_AGE = 30 * 24 * 60 * 60; // 30 jours
|
|
|
|
/**
|
|
* Service d'authentification côté serveur
|
|
* Implémente les méthodes qui nécessitent next/headers
|
|
*/
|
|
export class AuthService {
|
|
/**
|
|
* Récupère l'UUID utilisateur depuis le cookie côté serveur
|
|
*/
|
|
static async getUserUuidFromCookie(): Promise<string | null> {
|
|
const cookieStore = await cookies();
|
|
const userUuidCookie = cookieStore.get(COOKIE_NAME);
|
|
|
|
if (!userUuidCookie?.value) {
|
|
return null;
|
|
}
|
|
|
|
return userUuidCookie.value;
|
|
}
|
|
|
|
/**
|
|
* Vérifie si l'utilisateur est authentifié côté serveur
|
|
*/
|
|
static async isUserAuthenticated(): Promise<boolean> {
|
|
const userUuid = await this.getUserUuidFromCookie();
|
|
return !!userUuid;
|
|
}
|
|
}
|