Не уверен, что это то, что вы ищете, я также создаю одностраничное приложение.Перенаправление неизбежно, но пользователь заходит в твиттер, аутентифицируется и возвращается на ту же страницу, но я загружаю разные данные в зависимости от статуса пользователя, поэтому пользователь либо получает общий контент, либо его сохраненный контент.
// in server.js
app.get('/', routes.index);
// in routes.js, required in server.js
exports.index = function(req, res){
if(req.loggedIn){
getData(function(data){
res.render('home', { data:, data })
});
} else {
res.render('home', { data: false })
}
};
getData () в моем сценарии выполняет несколько проверок пользователя, чтобы увидеть его уровень доступа, затем предварительно загружает контент из нашего API и передает его в шаблон как JSON.Затем, когда приложение рендерится, оно просто ищет доступный JSON.