2014-10-02 2 views
3

У меня есть приложение Angular.js, и я пытаюсь реализовать аутентификацию на моем PHP-сервере с помощью JWT.JWT (JSON Web Token) с PHP и Angular.js

У меня есть настройка приложения для установки токена при входе в систему и отправки маркера с каждым запросом, если он выходит. Я следил за информацией здесь, хотя это для Node.js, а не PHP: https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/.

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

Другая проблема заключается в том, где хранить токен на лицевой стороне. Веб-сайт рекомендуется использовать $ window.sessionStorage, который, похоже, не подходит для моего случая, потому что он, кажется, не позволяет кому-то использовать несколько вкладок, которые не очень интуитивно понятны.

Мой вопрос действительно сводится к:

  • Где поставить маркер в заголовке запроса?
  • Как хранить токен на лицевой стороне?
+0

Документов из JWT для PHP это плохо. – Maykonn

ответ

1

Использование Bearer ключевого слова рекомендуется в RFC6750 - section Authorization Request Header Field:

Клиенты должны сделать заверенные запросы с носителем маркера с использованием «Authorization» поле заголовка запроса с «Bearer» HTTP авторизации схема. Ресурсные серверы ДОЛЖНЫ поддерживать этот метод

Библиотеки, с которыми я работал, всегда требуют этого перед самим токеном. Таким образом, заголовок запроса должен выглядеть следующим образом:

Authorization: Bearer your_token

Что касается хранения я видел его в $window.sessionStorage слишком

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