我正在尝试解码如下所示的cookie(没有成功):s%3Ak0tBm_lnBeH4G5pPIbbFKktQl0l4pNU8.d2ZbSvwFjkmVWfcS9Wn0%2Fi2oSnTYI09krfOOWJAXirE
。
它是使用express-session模块制作的。
我尝试做这样的事情:const cookieParser = require("cookie-parser");console.log(cookieParser.signedCookie("s%3Ak0tBm_lnBeH4G5pPIbbFKktQl0l4pNU8.d2ZbSvwFjkmVWfcS9Wn0%2Fi2oSnTYI09krfOOWJAXirE", "jksadhjk123io12ejnmlad'132hv8891"));
此输出是signedCookie的第一个参数(“ s%3Ak0tBm _...”)。我期望类似:{ { path: '/', _expires: 2019-09-08T22:33:17.317Z, originalMaxAge: 3600000, httpOnly: true, secure: false, domain: null, sameSite: true }, userID: 5d6ffe165d6eb10a7905c633}
最佳答案
似乎无法在字符串和提供的secret
之间验证签名。注意语法是:
cookieParser.signedCookie(str, secret);
参见this reference,其中同时指出,
如果该值未签名,则返回原始值。
和
如果该值已签名但无法验证签名,
返回false。