我的后卫包含以下代码:
let client: Socket = context.switchToWs().getClient();
const sessionCookie = client.handshake.headers.cookie
.split('; ')
.find((cookie: string) => cookie.startsWith('session'))
.split('=')[1];
const sessionId = cookieParser.signedCookie(
sessionCookie,
process.env.CryptoKey,
);
console.log('SESSION ID',sessionId);
调用 cookieParse.signedCookie(); 后生成的 sessionId 仍然是签名的;
client.request.cookies 和 signedCookies 都是未定义的。
会话 ID 在那里,浏览器正在发送 cookie,但我无法在网关中解析它。