Разница между аутентификацией на основе форм и аутентификацией на основе токенов

Как решить, какую аутентификацию использовать для аутентификации. (Например: Аутентификация на основе форм или Аутентификация на основе токенов).

Каковы преимущества использования аутентификации на основе токенов по сравнению с аутентификацией на основе форм / сессий / файлов cookie? Я прочитал несколько статей в Интернете, но до сих пор неясно.

Может кто-нибудь объяснить мне, как выбрать между этими двумя для веб-аутентификации и аутентификации пользователей мобильной платформы.

2 ответа

JWT лучше, если у вас нет особых потребностей, о которых я не знаю.

Сессия требует куки и куки работают только в браузере JWT: по сути, данные в формате JSON, поэтому вы можете работать с ним на другой платформе.

Кроме того, JWT более безопасен. Вы были бы уязвимы для CSRF-атак, если вы используете куки в качестве постоянного механизма аутентификации. Хакер может обмануть жертву на своем веб-сайте и щелкнуть по кнопке, и его запрос будет отправлен как жертва, поскольку файлы cookie отправляются автоматически при каждом запросе.

С JWT вы можете хранить его в любом хранилище, а именно: localStorage для рабочего стола. JWT вручную отправляется с каждым запросом от вас. Таким образом, вышеописанный сценарий не произойдет.

Может ли хакер изменить ваш JWT в localStorage и добавьте больше утверждений, то есть: измените тип пользователя с 'user' на 'admin', нет!. Требуется какой-то закрытый ключ, который есть только у сервера. Вы можете попробовать Auth0 и проверить его в jwt.io.

Это ключевые моменты, имо. Есть и другие преимущества, но вы можете легко узнать через Google.

Я использую токены с API RESTful и сеанс на основе веб-приложения (исключая SAP, поскольку обычно я создаю API для обработки уровня обслуживания).

Основная причина здесь проста для меня, с любым API, я хочу, чтобы все отправлено в заголовке или теле. Как такой токен на основе является путь. С MVC, однако, мне все равно, так как я рендеринг представлений, а не только данных.

Другие вопросы по тегам