2015-02-22 1 views
0

Мне нужно получить доступ к req.session.user._id для функции, где socket.io обнаруживает, когда пользователь подключен. что-то вроде следующего кода:access req.session, где запрос недоступен (пример: socket on connect)

io.on('connection', function(socket){ 
console.log('a user connected with the id of: '+req.session.uder._id); 
}) 

причина того, что мне нужно, чтобы получить доступ к идентификатор в моем io.on («подключиться»), чтобы сказать пользователям, которые болтают с этим пользователем, что он-лайн или в автономном режиме , так, если он находится в сети и проверка подлинности мы будем делать что-то вроде этого:

io.emit("status:"+req.session.user._id, 'online'); 

тогда другие пользователи, которые arelistening к статусу этого пользователя, знать его статус.

Каков правильный способ сделать это? Должен ли я получить доступ к нему в io.on ('connect')? или я должен сделать это по-другому? заранее спасибо

ответ

0

Этот модуль поможет https://www.npmjs.com/package/passport.socketio Это позволяет использовать один и тот же способ хранения сессии для expressjs и Socket.io

Пользователь уполномоченный будет доступен по https://www.npmjs.com/package/passport.socketio#socketrequestuser-as-of-v1

+0

спасибо, но я не использую паспорт Я просто хочу получить доступ к своим занятиям –