L'énoncé officiel du rôle de cookie-parser est: En-tête de cookie d'analyse et feq. Ma compréhension est de convertir des cookies dans les en-têtes et de les fusionner avec des roco-cookies. En tant que noyau de cookie-parser, l'analyseur invite 2 fonctions: SignedCookies et JSONCOOKIES, ainsi que leurs fonctions d'assistance.
Cet article termine ce plug-in ici. Passons en revue et ouvrirons également le prochain article sur l'apprentissage de la session.
Cookie-Parser récupère les cookies du client, puis passe par une session express (basée sur express). Sur le client, il est représenté comme une chaîne signée. Sur le serveur, puisque la méthode Ung Sign est utilisée, vous pouvez voir les caractères non signés. De cette façon, tout le mystère est démêlé. Jetons un coup d'œil au code de session qui gère les cookies.
La copie de code est la suivante: fonction setcookie (res, nom, val, secret, options) {
var signé = 's:' + signature.sign (val, secret);
// .... omis
res.sethEader ('set-cookie', en-tête)
}
Ici, Set-Cookie est utilisé pour écrire des cookies. Lorsque le client envoie un cookie, les cookies signés de Parser.js sont utilisés.
La copie de code est la suivante: export.SignedCooKies = function (obj, secret) {
var cookies = object.keys (obj);
var décor
Var Key;
var ret = object.create (null);
var val;
pour (var i = 0; i <cookies.length; i ++) {
clé = cookies [i];
val = obj [key];
dec = export.SignedCookie (val, secret);
if (val! == dec) {
ret [key] = déc;
supprimer obj [key];
}
}
retour retour;
};
export.SignedCooKie = fonction (str, secret) {
return str.substr (0, 2) === 'S:'
? signature.unsign (str.slice (2), secret)
: Str;
};
Dans la fonction d'aide, SignedCookie, lorsqu'il est constaté qu'il contient S:, c'est un cookie signé, puis il est signé avec Signature.unSign. La prochaine fois, regardons la session.
Ce qui précède est l'intégralité du contenu de Node.js Cookie-Parser Parser.js. J'espère que cela pourra vous donner une référence et j'espère que vous pourrez soutenir Wulin.com plus.