web-dev-qa-db-fra.com

Comment obtenir la valeur des cookies dans expressjs

J'utilise l'analyseur de cookies, tous les didacticiels parlent de la façon de définir les cookies et de la durée de leur expiration, mais où nous apprendre comment obtenir la valeur de ces cookies

9
Keitaro Urashima

Tout d'abord, notez que les cookies sont envoyés au client avec une demande du serveur et STOCKÉS DU CÔTÉ CLIENT. Chaque fois que l'utilisateur charge à nouveau le site Web, ce cookie est envoyé avec la demande.

Ainsi, vous pouvez accéder au cookie côté client (par exemple, dans votre côté client Java) en utilisant

document.cookie

vous pouvez le tester côté client en ouvrant la console du navigateur (F12) et en tapant

console.log(document.cookie);

vous pouvez accéder au cookie depuis le serveur (dans votre cas, expressjs) en utilisant

req.cookies

La meilleure pratique consiste à vérifier du côté client si elle est stockée correctement. Gardez à l'esprit que tous les navigateurs ne permettent pas de stocker des cookies sans l'autorisation de l'utilisateur.

Selon votre commentaire, votre code devrait être quelque chose comme

var express = require('express');
var app = express();

var username ='username';

app.get('/', function(req, res){
   res.cookie('user', username, {maxAge: 10800}).send('cookie set');
});

app.listen(3000);
10
Shanil Fernando

j'espère que ceci vous aidera

var app=requir('express')();
app.use('/',(req,res) => {
  var cookie = getcookie(req);
  console.log(cookie);
});

function getcookie(req) {
  var cookie = req.headers.cookie;
  //user=someone; session=QyhYzXhkTZawIb5qSl3KKyPVN (this is my cookie i get)
  return cookie.split('; ');
}

sortie

'user=someone',
'session=QyhYzXhkTZawIb5qSl3KKyPVN' ]
1
Jishan mondal

Pour les gens qui tombent sur cette question, voici comment je l'ai fait:

Vous devez installer le middleware express cookie-parser car il n'est plus fourni avec express.

npm install --save cookie-parser

Ensuite, configurez-le comme tel:

const cookieParser = require("cookie-parser");

const app = express();
app.use(cookieParser());

Ensuite, vous pouvez accéder aux cookies de

req.cookies

J'espère que cette aide.

0
M Mansour