2012-01-07 2 views
1

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

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

ответ

1

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

+0

Как насчет выхода из системы? В настоящий момент '/ logout' вызывает обновление. – Randomblue

+0

Для выхода из системы проще, вы можете сделать маршрут '/ sign_out' и удалить сеанс:' delete sess.auth; '(вы также можете отправить ответ JSON и использовать Ajax, чтобы сохранить его на той же странице). – alessioalex

0

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

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

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

  • Нет связанных вопросов^_^