我想从我的cookie中检索值。
我正在使用passport.js,在这个探索中,我尝试了不同的东西。
req.cookies;,它给了我这样的结果:
's:x05d6V5Dhf6efFGjIkO26Ka1.imN4lT7OhW83Nc9Z7vw5dFbCoQhanP3aa37iyNWQyvU‘}
这是签名的饼干还是加密的饼干?
最初的's:'使它看起来像是一个签名的对象,但是当我运行req.signedCookies;时,我得到了一个空对象{}。这个饼干是签名的还是加密的?
然后我跑了:req.sessionID;,它还了这个:
x05d6V5Dhf6efFGjIkO26Ka1
正如您所看到的,这也包含在我的cookie中,在点之前。所以我猜sessionId是存储在我的饼干里的,对吧?
然后我运行req.secret;,然后返回undefined。发布于 2019-04-25 04:47:28
圆点后的部分:
imN4lT7OhW83Nc9Z7vw5dFbCoQhanP3aa37iyNWQyvU是会话id的签名:
x05d6V5Dhf6efFGjIkO26Ka1也就是说,会话id是用秘密加密的,并附加到会话id中的一个点来组成cookie。
这个秘密并不包含在饼干里。
如果您提供了正确的信息,cookie签名模块可以解除cookie的签名:
cookie-signature.ungisn(`${the_original_sessionid}.${the_encypted_sessionid}`,secret)https://stackoverflow.com/questions/50499192
复制相似问题