Я пытаюсь присоединить req.user.id (из сеанса паспорта) к каждому сокету, который создается при подключении.Поскольку я не могу получить доступ к req.user извне промежуточного программного обеспечения или маршрута и в результате получить ошибку с идентификатором undefined,
, как мне каким-то образом получить доступ к этому и передать его в мою экспортированную функцию сокета?.
Я бы использовал app.use (getSocket ()), который позволил бы мне использовать req.user внутри функции, но это инициировало бы соединение более одного раза.
// Workspace route
var server = require('../server.js').serverExport();
var authUser = require('../server.js');
var io = require('socket.io') ( server );
var socket = require('./middleware/pusherApi');
function getSocket ( ) {
// somehow pass req.user
var getSocket = socket.connect( io , req.user );
}
getSocket();
// get routes would be below
тогда
// pusherApi export function
module.exports.connect = function ( io , user ) {
io.sockets.on('connection', function( socket ) {
// socket.userId = user;
console.log('connection added' );
socket.on('disconnect', function ( data ) {
});
});
}