Как реализовать аутентификацию для RESTFull WebService (Java)?

Есть RESTFull WebService написанный с помощью Jersey. Все замечательно работает, но надо прикрутить авторизацию. Смотрел/гуглил в сторону токенов. Нашел несколько велосипедов, особого доверия им естейственно нет. Писать собственный велосипед тоже не хочется, ибо результат не предсказуем. Из стандарта нашел упоминание OAuth 1.0 с Jersey, например тут:

https://wikis.oracle.com/display/Jersey/OAuth

Честно говоря, мало что понял. Например, встают вопросы:

Где генерируется токен?
Где садится срок действия токена (например токен действителен не более часа со времени последнего использования/ со времени генерации)?
Где прописывается для каких URL действует этот токен?
Где и как проверяется не украден ли/перехвачен токен (например поступило 2 запроса с разницой в полсекунды, но с разных IP)?
Где хранится токен (например я перезапустил сервер, токены должны быть все еще действительны, т.е. где то перзистентно хранится и автоматически подгружатся при необходимости)?
Где я могу посмотреть, чей это токен?

Да и вообще, вопросов куча.

К своему огромнейшему удивлению, ничего путного и вразумительного не нашел. Может, плохо искал? Дайте плиз ссылку на хороший туториал.

P.S. Иногда упоминается Spring Security и как правило тут же пишут, что он совсем плохо дружит с Jersey и добавляет только кучу гемороя. Есть ли у вас опыт с этой комбинацией( Spring Security и Jersey)?
  • Вопрос задан
  • 2614 просмотров
Пригласить эксперта
Ответы на вопрос 1
TheRealSpaceShip
@TheRealSpaceShip
А официальная документация не поможет решить данную задачу? Думаю на большинство вопросов вы должны ответить сами (имплементировать), где, как и сколько хранить токены.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы