gpt4 book ai didi

node.js - 使用 cookieSession 授权用户使用 socket.io

转载 作者:太空宇宙 更新时间:2023-11-03 22:02:51 25 4
gpt4 key购买 nike

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

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

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

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;
};

关于node.js - 使用 cookieSession 授权用户使用 socket.io,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14079368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com