2016-10-06 1 views
4

Я аутентифицирую пользователя, используя UsernamePasswordAuthenticationToken в SpringBoot.Цель предварительной аутентификацииАутентификацияТока в весенней безопасности?

Я генерирую токен, используя JJWT для этого пользователя и возвращаю его обратно.

Теперь Пользователь использует этот токен для отправки любых дополнительных запросов мне. После дешифровки токена я должен использовать PreAuthenticatedAuthenticationToken и установить его на SecurityContextHolder.getContext().setAuthentication()?

Какова цель PreAuthenticatedAuthenticationToken?

ответ

8

Целью PreAuthenticatedAuthenticationToken является интеграция систем управления идентификацией сторонних поставщиков в ваше приложение Spring с функцией Spring Security.

A PreAuthenticatedAuthenticationToken может быть в виде HTTP-заголовка, параметра HTTP и т. Д. В этом случае не обязательно должна быть полная регистрация пользователей в вашем приложении. Просто сохранить этот токен и соответствующие данные будет достаточно.

Вы можете прочитать подробнее об этом из Spring Security Documentation

Для JWT случая, хотя после расшифровки вы можете даже использовать UsernamePasswordAuthenticationToken как процесс расшифровки покажет имя пользователя, пароль, органы.

+0

Спасибо! Мой токен не содержит пароль пользователя. Только имя пользователя и полномочия. Поскольку успешное дешифрование само по себе гарантирует, что Пользователь был аутентифицирован раньше, и токен был сгенерирован сервером. Звучит правильно? – amitection

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