Нужна ли аутентификация JWT для входа / выхода - PullRequest
0 голосов
/ 07 декабря 2018

Я недавно начал работать над защитой своих веб-приложений. Я использую Spring Framework. Поэтому я уже применил аутентификацию JWT для защиты своих конечных точек API REST. И я также создал другой пример демонстрации, в котором я предоставляю простой вход в систему.и выход из системы с помощью Spring Security.

Теперь я пытаюсь использовать аутентификацию JWT для функций входа / выхода. Но я чувствую, что это как-то не так. Я считаю, что JWT следует использовать только для защитыконечные точки сервисов REST, а не функциональность входа / выхода, которая является действием с сохранением состояния, и аутентификация JWT - не лучший метод для этого.

Это неправильное представление, которое я имею? Может ли JWT использоваться для входа / выхода из системы?? Любой вклад в это будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

JWT (JSON Web Token) - это автономный формат токена доступа.В мире OAuth 2.0 токен доступа (например, JWT) отправляется в запросе к защищенному ресурсу, а сервер ресурсов OAuth 2.0 обеспечивает авторизацию, проверяя токен доступа и анализируя его для полномочий, которые он будет использовать для принятия решения об авторизации.Ключевым моментом здесь является то, что JWT используется для авторизации, а не аутентификации. OpenID Connect 1.0 используется для аутентификации пользователей.

Spring Security 5.1 поддерживает как OpenID Connect 1.0 с помощью функции oauth2Login(), так и JWT на oauth2ResourceServer() функция.

Полный образец см. Протоколы и шаблоны OAuth 2.0 вместе с презентацией .

0 голосов
/ 07 декабря 2018

Ну, вы уже ответили на большую часть вашего вопроса.Вы можете иметь stateful/stateless аутентификацию.Теперь какой из них использовать, зависит от вариантов использования приложения.

Вариант использования 1:

Если ваше приложение развернуто как служба, требующая выполнения всего из пользовательского интерфейса,Аутентификация с сохранением состояния, т. е. аутентификация на основе форм.т. е. JWT

Вариант использования 3:

Теперь, если оба варианта использования - это Вариант использования 1,2, вы также можете реализовать аутентификацию на основе форм / JWT в одном приложении.

Примечание:

Сказав, что вы также можете использовать аутентификацию токена для входа в систему.Единственный улов - вы должны написать несколько сценариев самостоятельно.

Например:

  1. После успешного входа в систему добавьте токен в localStorage и используйте if для дальнейших запросов.

  2. Вкл.Выйти удалить токен из localStorage.

  3. Для любого доступа без токена Перенаправить на экран входа в систему с сообщением об ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...