我可以看到req.sessionID
,就像yeVIo68JZHLb9rvA3Js2MY6RMOo1p29S
。
在浏览器控制台中,我可以看到connect.sid
,它看起来像这样s%3AEsvCST_KXoCmyD1ixT1Elksp7WQU5Bwp.a1zlev0vJ0dNESbPCeOXZq3jsPAsAGCS7O0KTyrOTAU
我看了一下cookie-signature
库,它与我在connect.sid
中看到的库并不相同,因为它的签名中带有“ hello”一词。
var cookie = require('cookie-signature');
var val = cookie.sign('hello', 'tobiiscool');
val.should.equal('hello.DGDUkGlIkCzPz+C0B064FNgHdEjox7ch8tOBGslZ5QI');
如何将req.sessionID
转换为connect.sid
?
答案 0 :(得分:0)
import * as crypto from 'crypto';
const getConnectSid = (sessionID) => {
return 's.'+sessionID+'.'+crypto.createHmac('sha256', process.env.COOKIE_SECRET) .update(sessionID).digest('base64').replace(/\=+$/, '');
}