Express 4 – 如何parsing签名的cookie?

我正在使用Socket.IO和Express 4进行授权。由于Express.JS不再依赖连接中间件,所以在使用新的cookieparsing器模块parsing带符号的cookiestring时遇到了问题。 假设我需要在Cookie中检查RedisStore中的会话。 这是我从Socket.IO handshakeData得到的:

{ host: 'localhost:8081', accept: '*/*', connection: 'keep-alive', cookie: 'io=CyMFrlbrFD23UeVbAAAA; connect.sid=s%3ADHWS7fJ8e5mQ35yvrKwUBQXH7oAIoEIz.R0TLqQ93IwotvIxNqdU17IgPDKOBMXnlM9eTZ8e4gFU', ... } 

如何使用sessionSecretparsingcookie参数我必须在Redis商店中search合适的会话?

以前我用过

 sessionID = globals.connect.utils.parseSignedCookie(handshakeData.cookie["connect.sid"], SESSON_SECRET) 

并在Redis中用键search

 client.get "sess:" + String(sessionID), (err, reply) -> ... # we found session object with username, success! 

现在我不能这样做。

有任何想法吗? 谢谢!

解决scheme很简单:

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