cookies() din next/headers – Gestionarea cookie-urilor pe server în Next.js

Permite citirea, setarea și ștergerea cookie-urilor HTTP direct din componentele și acțiunile de server.

Sintaxă
import { cookies } from 'next/headers';

// În Server Component (doar citire):
const cookieStore = await cookies();
const token = cookieStore.get('token')?.value;

// În Server Action (citire și scriere):
cookieStore.set('tema', 'dark');

Ce face cookies() din next/headers - Gestionarea cookie-urilor pe server

Funcția cookies() oferă acces securizat la cookie-urile cererii pe server.

În Server Components, cookie-urile pot fi doar citite (încercarea de a apela `.set()` va genera eroare, deoarece răspunsul HTTP este deja în curs de transmitere).

În Server Actions și Route Handlers, aveți permisiuni complete de citire, modificare și ștergere (`.set()`, `.delete()`), ideale pentru gestionarea sesiunilor de autentificare JWT sau salvarea preferințelor utilizatorului.

Exemple

Exemplul 1: Autentificarea utilizatorului și setarea cookie-ului de sesiune HttpOnly

Setează un cookie de sesiune securizat direct din Server Action.

import { cookies } from 'next/headers';

export async function loginAction(tokenJwt: string) {
  'use server';
  const cookieStore = await cookies();
  
  cookieStore.set('sesiune_token', tokenJwt, {
    httpOnly: True,
    secure: process.env.NODE_ENV === 'production',
    sameSite: 'lax',
    path: '/',
    maxAge: 60 * 60 * 24 * 7 // 7 zile
  });
}

Ieșire în terminal

Cookie-ul securizat este salvat în browserul clientului.

Greșeli frecvente

  • Apelarea ‘cookies()’ transformă automat pagina din statică (○) în dinamică (ƒ), deoarece serverul trebuie să citească antetul Cookie la fiecare cerere.

Comenzi înrudite

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: cookies() din next/headers – Gestionarea cookie-urilor pe server

Ai o nelămurire despre utilizarea comenzii cookies() din next/headers – Gestionarea cookie-urilor pe server sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.