Cookies
Il modulo cookie.js semplifica la gestione dei cookie HTTP in LizardJS. Puoi crearli, leggerli e rimuoverli direttamente dalle richieste e risposte del server.
Dal tuo app.js, importa le funzioni del modulo:
import {
setCookie,
getCookie,
deleteCookie
} from "./lizardjs/cookie.js";
setCookie()
Aggiunge un cookie alla risposta HTTP utilizzando l'header Set-Cookie.
Esempio
setCookie(
response,
"session",
"abc123",
{
httpOnly: true,
secure: true,
sameSite: "strict",
maxAge: 3600
}
);
Parametri
response
L'oggetto response HTTP su cui impostare
il cookie.
name
Il nome del cookie.
value
Il valore del cookie.
options
Opzioni aggiuntive del cookie.
Opzioni
maxAge
Durata del cookie in secondi.
domain
Dominio a cui appartiene il cookie.
path
Percorso per cui il cookie è valido.
expires
Data di scadenza del cookie.
httpOnly
Aggiunge il flag HttpOnly.
secure
Aggiunge il flag Secure.
sameSite
Imposta il valore SameSite.
getCookie()
Legge un cookie ricevuto dal client attraverso l'header HTTP Cookie.
Se il cookie esiste, la funzione restituisce il suo valore. Se non viene trovato, restituisce undefined.
Esempio
let session = getCookie(
request,
"session"
);
console.log(session);
Se il client ha inviato:
Cookie: session=abc123
il risultato sarà:
abc123
deleteCookie()
Elimina un cookie inviando al client una risposta con una scadenza nel passato e Max-Age=0.
Esempio
deleteCookie(
response,
"session",
{
path: "/"
}
);
È importante utilizzare gli stessi attributi rilevanti utilizzati quando il cookie è stato creato, in particolare path e domain, quando applicabili.
Esempio completo
Un esempio di gestione di una sessione tramite cookie:
import {
setCookie,
getCookie,
deleteCookie
} from "./lizardjs/cookie.js";
// Creazione
setCookie(
response,
"session",
"abc123",
{
httpOnly: true,
secure: true,
sameSite: "strict",
maxAge: 3600,
path: "/"
}
);
// Lettura
let session = getCookie(
request,
"session"
);
// Eliminazione
deleteCookie(
response,
"session",
{
path: "/"
}
);
Non inserire informazioni sensibili direttamente nei cookie senza aver valutato attentamente autenticazione, sicurezza e validazione lato server.
Riepilogo
setCookie()
Crea o aggiorna un cookie nella risposta.
getCookie()
Legge un cookie dalla richiesta.
deleteCookie()
Elimina un cookie tramite la risposta.