Node.js Express 4-如何解析签名cookie?

Node.js Express 4-如何解析签名cookie?,node.js,express,socket.io,authorization,Node.js,Express,Socket.io,Authorization,我正在用Socket.IO和Express 4进行授权。由于Express.JS不再依赖连接中间件,我在使用新模块解析签名cookies字符串时遇到了问题。假设我需要通过cookies检查RedisStore中的会话。以下是我从Socket.IO handshakeData获得的信息: { host: 'localhost:8081', accept: '*/*', connection: 'keep-alive', cookie: 'io=CyMFrlbrFD23UeVbAAAA;

我正在用Socket.IO和Express 4进行授权。由于Express.JS不再依赖连接中间件,我在使用新模块解析签名cookies字符串时遇到了问题。假设我需要通过cookies检查RedisStore中的会话。以下是我从Socket.IO handshakeData获得的信息:

{ host: 'localhost:8081',
  accept: '*/*',
  connection: 'keep-alive',
  cookie: 'io=CyMFrlbrFD23UeVbAAAA; connect.sid=s%3ADHWS7fJ8e5mQ35yvrKwUBQXH7oAIoEIz.R0TLqQ93IwotvIxNqdU17IgPDKOBMXnlM9eTZ8e4gFU',
  ...
}
如何使用sessionSecret解析cookie参数我必须在Redis store中搜索合适的会话

以前我用过

sessionID = globals.connect.utils.parseSignedCookie(handshakeData.cookie["connect.sid"], SESSON_SECRET)
并在Redis中使用

client.get "sess:" + String(sessionID), (err, reply) ->
  ... # we found session object with username, success!
现在我不能做这个把戏了

有什么想法吗?谢谢大家!

解决方案很简单:

cookieParser = require("cookie-parser")
handshakeData.sessionID = cookieParser.signedCookie( handshakeData.cookie["connect.sid"], globals.config.express.sessionSecret )