使用cookieSession来授权使用socket.io的用户

我正在使用socket.io的授权方法(详细在这里 )通过检查与用户关联的cookie来检查用户是否有权使用我的应用程序。

上面的博客文章是相当直接的,但我使用cookieSessions存储会话数据在cookie中。 一个很好的问题是在stackoverflow,但我无法弄清楚。

我想知道如何解密cookieSession数据来访问会话数据。 一些我的示例代码:

io.set('authorization', function (data, accept) { //Check cookie for session data accept(null, true);}); 

换句话说,我如何访问socket.io中的cookieSession?

我使用以下(护照,但没关系):

 io.set('authorization', function(data, accept) { var getCookieSession = require('./lib/cookie_session'); var session = getCookieSession(data.headers, { key: 'YOUR KEY', secret: 'YOUR SECRET' }); if (session.passport.user) { accept(null, true); } else { accept(null, false); } }); 

getCookieSession是以下模块:

 var connect = require('connect'); var cookieParser = connect.cookieParser; var cookieSession = connect.cookieSession; module.exports = function(headers, opts) { var key = opts.key || '_session'; var secret = opts.secret || ''; var req = { headers: headers, originalUrl: "/" }; var res = { on: function() {} }; var next = function () {}; cookieParser(secret)(req, res, next); cookieSession({ key: key })(req, res, next); return req.session; };