2013-11-19 2 views
2

У меня есть приложение «Угловое/Экспресс» и я пытаюсь реализовать какой-то спокойный аут. Приложение Express имеет стандартное имя пользователя/пароль Passport и сеансы Redis. При успешном входе в систему я возвращаю идентификатор сеанса и угловой, а затем отправляет его каждому запросу в заголовках. Проблема в том, что я не знаю, как заставить Express использовать это как идентификатор сеанса. Я пробовал писать для req.sessionId в промежуточном программном обеспечении без успеха.Вручную установить идентификатор сеанса в экспресс

Как использовать заголовки или строку запроса как способ отправки идентификатора сеанса.

+0

Я бы предположил, что когда угловой получил sessionId, он отправит его с каждым запросом, скорее всего, как заголовок файла cookie. Как вы проверили, что угловой запрос поступит на ваш экспресс-сервер, содержащий sessionId? Возможно, все уже работает, я предлагаю вам измерить, если запрос растягивает экспресс-сеанс. – angabriel

+0

@angabriel все отлично работает с cookies/сеансом - но я изучаю альтернативы, поскольку я хочу пройти аутентификацию на кросс-доменах - я могу получить идентификатор сеанса, но не могу использовать другой способ его установки – cyberwombat

ответ

0

У меня была та же проблема. Это, кажется, работает для меня, попробовать и дайте мне знать, если он работает для вас:

app.use(function (req, res, next) { 
    // I'm pulling it from the query string. You could use headers. 
    if (req.query.session) { 
     req.sessionID = req.query.session; 
     req.sessionStore.get(req.query.session, function (err, sess) { 
      // This attaches the session to the req. 
      req.sessionStore.createSession(req, sess); 
      next() 
     }) 
    } else { 
     next() 
    } 
}) 

Недостатком является то, что действительно получает сессию дважды. Я должен написать подкласс обработчика сеанса, но пока я ленив.

ОБНОВЛЕНИЕ: Я решил получить не-ленивый и вилочный экспресс-сеанс. Я отправил запрос на вытягивание, но до тех пор вы можете найти его here.

Смежные вопросы