Middleware cookie-parser
Analiza la cabecera Cookie y completa req.cookies con un objeto indexado por los
nombres de las cookies. Opcionalmente puedes habilitar el soporte de cookies firmadas pasando una
cadena secret, la cual asigna req.secret para que pueda ser usado por otro
middleware.
Instalación
npm install cookie-parseryarn add cookie-parserpnpm add cookie-parserbun add cookie-parserAPI
var cookieParser = require('cookie-parser');cookieParser(secret, options)
Crea una nueva función de middleware de análisis de cookies usando el secret y
options dados.
secretuna cadena o array usado para firmar cookies. Esto es opcional y si no se especifica, no se analizarán las cookies firmadas. Si se proporciona una cadena, esta se usa como el secret. Si se proporciona un array, se intentará desfirmar la cookie con cada secret en orden.optionsan object that is passed tocookie.parseas the second option. See cookie for more information.decodeuna función para decodificar el valor de la cookie
El middleware analizará la cabecera Cookie de la petición y expondrá los
datos de la cookie como la propiedad req.cookies y, si se proporcionó un secret, como
la propiedad req.signedCookies. Estas propiedades son pares nombre-valor del
nombre de la cookie al valor de la cookie.
Cuando se proporciona un secret, este módulo desfirmará y validará cualquier valor de cookie firmada
y moverá esos pares nombre-valor de req.cookies a req.signedCookies.
Una cookie firmada es una cookie que tiene un valor prefijado con s:. Las cookies firmadas
que fallan la validación de la firma tendrán el valor false en lugar del valor alterado.
Además, este módulo soporta “JSON cookies” especiales. Estas son cookies donde
el valor está prefijado con j:. Cuando se encuentran estos valores, el valor será
expuesto como el resultado de JSON.parse. Si el análisis falla, el valor original permanecerá.
cookieParser.JSONCookie(str)
Analiza un valor de cookie como una cookie JSON. Esto devolverá el valor JSON analizado si era una cookie JSON, de lo contrario, devolverá el valor pasado.
cookieParser.JSONCookies(cookies)
Dado un objeto, esto iterará sobre las claves y llamará a JSONCookie en cada
valor, reemplazando el valor original con el valor analizado. Esto devuelve el
mismo objeto que se pasó.
cookieParser.signedCookie(str, secret)
Analiza un valor de cookie como una cookie firmada. Esto devolverá el valor analizado no firmado
si era una cookie firmada y la firma era válida. Si el valor no estaba firmado, se devuelve el valor original. Si el valor estaba firmado pero la
firma no pudo ser validada, se devuelve false.
El argumento secret puede ser un array o una cadena. Si se proporciona una cadena, esta
se usa como el secret. Si se proporciona un array, se intentará
desfirmar la cookie con cada secret en orden.
cookieParser.signedCookies(cookies, secret)
Dado un objeto, esto iterará sobre las claves y comprobará si algún valor es una cookie firmada. Si es una cookie firmada y la firma es válida, la clave será eliminada del objeto y añadida al nuevo objeto que se devuelve.
El argumento secret puede ser un array o una cadena. Si se proporciona una cadena, esta
se usa como el secret. Si se proporciona un array, se intentará
desfirmar la cookie con cada secret en orden.
Ejemplo
var express = require('express');var cookieParser = require('cookie-parser');
var app = express();app.use(cookieParser());
app.get('/', function (req, res) { // Cookies that have not been signed console.log('Cookies: ', req.cookies);
// Cookies that have been signed console.log('Signed Cookies: ', req.signedCookies);});
app.listen(8080);
// curl command that sends an HTTP request with two cookies// curl http://127.0.0.1:8080 --cookie "Cho=Kim;Greet=Hello"