Есть 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)?