Авторизуйтесь с помощью Twitter на той же странице - PullRequest
1 голос
/ 07 января 2012

Я использую Node-модуль everyauth для аутентификации в Twitter.На данный момент пользователь должен перейти к /auth/twitter/ для аутентификации с путем перенаправления.

Проблема в том, что путь перенаправления перезагружает страницу, что нарушает структуру «одностраничного приложения», которую я имеювстроенный.Можно ли сохранить аутентификацию в Твиттере в рамках «одностраничных» границ?

Ответы [ 2 ]

1 голос
/ 08 января 2012

Вы не можете сделать это, вам нужно открыть новую страницу (но вы можете, например, открыть всплывающее окно и заставить Twitter перенаправить обратно на страницу, которая закрывает это всплывающее окно).

0 голосов
/ 20 января 2012

Не уверен, что это то, что вы ищете, я также создаю одностраничное приложение.Перенаправление неизбежно, но пользователь заходит в твиттер, аутентифицируется и возвращается на ту же страницу, но я загружаю разные данные в зависимости от статуса пользователя, поэтому пользователь либо получает общий контент, либо его сохраненный контент.

// 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.

...