Node.js。加密与签名cookie
我想从我的cookie中检索值 我正在使用Node.js。加密与签名cookie,node.js,session,encryption,cookies,passport.js,Node.js,Session,Encryption,Cookies,Passport.js,我想从我的cookie中检索值 我正在使用passport.js,在这个任务中,我尝试了不同的方法 我运行req.cookies这给了我以下信息: 's:x05d6V5Dhf6efFGjIkO26Ka1.imN4lT7OhW83Nc9Z7vw5dFbCoQhanP3aa37iyNWQyvU' } 这是签名cookie还是加密cookie 开头的's:'使它看起来像是一个签名的,但是当我运行req.signedCookies时,我找回了一个空对象{}。那么这个cookie是经过签名还是加密的呢
passport.js
,在这个任务中,我尝试了不同的方法
req.cookies代码>这给了我以下信息:
's:x05d6V5Dhf6efFGjIkO26Ka1.imN4lT7OhW83Nc9Z7vw5dFbCoQhanP3aa37iyNWQyvU' }
这是签名cookie还是加密cookie
开头的's:'
使它看起来像是一个签名的,但是当我运行req.signedCookies时代码>,我找回了一个空对象{}
。那么这个cookie是经过签名还是加密的呢
然后我运行:req.sessionID代码>返回了以下内容:
x05d6V5Dhf6efFGjIkO26Ka1
正如你所看到的,这也包含在我的cookie中,在点之前。所以我猜sessionId
存储在我的cookie中,对吗
然后我运行req.secret
返回未定义的
app.use(express.session({secret:'blablabla'}));
用于对cookie进行签名或加密点后面的部分:
imN4lT7OhW83Nc9Z7vw5dFbCoQhanP3aa37iyNWQyvU
是会话id的签名:
x05d6V5Dhf6efFGjIkO26Ka1
也就是说,会话id用密码加密,并用一个点附加到会话id以组成cookie
这个秘密不包含在cookie中
如果您提供了正确的信息,cookie签名模块可以取消对cookie的签名:
cookie-signature.ungisn(`${the_original_sessionid}.${the_encypted_sessionid}`,secret)