Я боролся с этим последние пару дней и не нашел надежного, понятного решения в Интернете.Защита REST api с Token
У меня есть веб-приложение, которое состоит из априори отдыха и уровня представления, потребляющего его. Уровень представления имеет форму входа, данные, введенные пользователем, отправляются в REST api, который затем использует стороннюю службу для аутентификации пользователя. Эта часть, которую я уже создал.
Теперь я хочу включить аутентификацию на основе токенов для каждого последующего запроса, поэтому мне не нужно отправлять учетные данные для каждого запроса, а затем снова аутентифицироваться в отношении сторонней службы.
Так что, в основном, используя Spring Security (версия 3.1.3), я теряю представление о том, как создать надежный, безопасный токен, вернуть его реквестору, а затем аутентифицировать запрос на основе указанного токена.
Можете ли вы указать мне направление вправо? Или на какой-то пример онлайн?
- Как вы создаете токен? Как вернуть токен клиенту ?
- Как бы вы отправили токен в последующих запросах?
- Как вы все настроите, так что в первый раз вы можете как-то отправить учетные данные (пользователь/пароль), а затем последующие запросы отправят только токен?
- Как вы выполняете аутентификацию против токена?
- Я видел реализации, в которых токен включает некоторое время expiryTime. Итак, что случилось после истечения срока? Пользователь должен снова войти в систему, даже если он все время делает запросы? Должен ли я обновить токен «за кулисами»?
Вам нужна реализация oAuth. Я ответил на аналогичный вопрос [здесь] (http://stackoverflow.com/a/26438123/1331801). – Jangid
Я верю, что oAuth может немного переборщить. Я читал в Интернете о более простой аутентификации на токенах, и я думал об этом, прежде чем погрузиться в ад. В любом случае, если у вас есть хороший учебник с oAuth, который может помочь. – MichelReap
Это будет излишним, если вы выполняете полный рабочий процесс oAuth с каждым запросом. Обычно вы настраиваете только один раз и отправляете все запросы с токеном доступа. И обновите токен, если потребуется. Прочтите [этот RFC] (http://tools.ietf.org/html/rfc6749#section-1.4). – Jangid