Хорошо, я бьюсь головой о стену, пытаясь понять это!Я пытаюсь пройти аутентификацию через Facebook.
У меня есть узел (0.6.13), на котором выполняется экспресс на сервере amazon ec2.Я использую EveryAuth для аутентификации, и у меня есть mongodb (родной mongodb и connect-mongodb) для сохранения.Вот как я создаю экземпляр mongo:
var MongoStore = require('connect-mongodb');
var mongo = require('mongodb');
var mongoServer = new mongo.Server('localhost', 27017, {auto_reconnect: true, native_parser: true})
var mongoStore = new MongoStore({
db: new mongo.Db('test', mongoServer, {})
, reapInterval: 3000
});
Я пытаюсь пройти аутентификацию через facebook, используя EveryAuth.Итак, давайте предположим, что мое приложение работает на порте 3000, на http://ec2ip:3000/. В настройках моего приложения Facebook есть веб-сайт, перенаправленный обратно на http://ec2ip:3000/.
Express настроен так:
app.get('/', function (req, res) {
if(!req.session.auth || !req.session.auth.loggedIn)
{
console.log("Not authorized!");
res.redirect('/auth/facebook/');
}
else
{
console.log("Authorized!");
res.sendfile(__dirname + '/www/index.html');
}
});
Этот работал локально, прежде чем я поместил его на сервер.Что произойдет, так это то, что он будет правильно проходить аутентификацию на Facebook и перенаправлять на мой сайт, однако req.session.auth всегда будет неопределенным и будет перенаправлять навсегда.Хотя я знаю, что он успешно аутентифицирован, он просто не передает правильную информацию о сеансе.
Это как-то связано с правильной настройкой запросов на перенаправление, чтобы информация о сеансе сохранялась, но я не понимаю, как она работает под капотом.
Любой совет / помощь будет принята с благодарностью.Это связанные вопросы / проблемы, которые у меня возникают, но я не знаю, как их применить в моем случае: https://github.com/bnoguchi/everyauth/issues/189 и Node.js & проблема экспресс-сессии