2015-09-13 2 views
0

Я работаю в приложении Node.js. он требует входа, выхода из системы и регистрации функций, о которых я думал при создании аутентификации, используя token based вместо файлов cookie. и это будет рабочий процессВход и выход из системы Node.js с использованием токена аутентификации

  1. Отправить POST /login на сервер, чтобы проверить, если пользователь существует или не
  2. если пользователь существует вышлю маркер в объект JSON и сохранить его в браузере локальное хранилище
  3. Теперь я хочу перенаправить на домашнюю страницу после сохранения токена, используя window.location = "/", но Мне нужно вставить токен в заголовок, и это моя проблема Я нашел, что это возможно в угловом использовании $httpProvider.interceptors, которое перехватит каждый запрос и задает его заголовок.

Есть ли способ, которым я могу это сделать без углового?

+0

перехватывать запросы с чем-то вроде [это] (http://stackoverflow.com/a/10796951/1387519) и добавить заголовок там. – rixo

+0

Вы можете сохранить пользователя в сеансе, а затем создать промежуточное программное обеспечение, чтобы проверить, был ли пользователь зарегистрирован (в каждом запросе). –

ответ

0

Обычно это хорошая концепция при использовании API, а затем перед веб-приложением.

В принципе, вам необходимо сохранить свой токен и отправить его с каждым запросом, если он у вас есть.

Что я обычно делаю, когда я делаю /login хранить маркер в LocalStorage браузера, вы можете использовать эту библиотеку, чтобы использовать его https://github.com/julien-maurel/jQuery-Storage-API

После того, как у вас есть маркер в вашем LocalStorage, когда вы делаете вызов API, который вы проверяете, есть ли токен в localStorage, если есть добавление заголовка.

Вот пример использования JQuery Ajax:

$.ajax({ 
    url: '/data', 
    headers: { 
     'Authorization':'Bearer ' + localStorage.get('token') 
    }, 
    method: 'POST', 
    dataType: 'json', 
    data: {}, 
    success: function(data){ 
     console.log('succes: '+data); 
    } 
    }); 
+0

Это не ответ. мой вопрос: я хочу перенаправить на домашнюю страницу после того, как я получу токен .. этого не произойдет, используя запрос Ajax. –

+0

Вам нужно сохранить токен, а затем использовать его для следующих вызовов, если у вас нет JSAPP , вам нужен сеанс на сервере (с файлом cookie), поскольку файлы cookie всегда отправляются на сервер. Хотя, если у вас есть JSAPP впереди, я думаю, клиент выполнит все запросы, поэтому вы можете ввести токен, как я показал вам. – DevAlien

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