我正在尝试解码如下所示的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。

10-04 22:38