Проблема:
У нас есть Spring RESTful API на основе MVC, который содержит конфиденциальную информацию.API должен быть защищен, однако отправка учетных данных пользователя (комбо пользователя/пароля) с каждым запросом нежелательна. В соответствии с рекомендациями REST (и внутренними бизнес-требованиями) сервер должен оставаться без состояния. API будет использоваться другим сервером в стиле mashup.
Требования:
Клиент отправляет запрос на .../authenticate
(незащищенный URL) с учетными данными; server возвращает безопасный токен, который содержит достаточно информации, чтобы сервер мог проверять будущие запросы и оставаться без сохранения состояния. Вероятно, он будет состоять из той же информации, что и Spring Security Remember-Me Token.
Клиент делает последующие запросы к различным (защищенным) URL-адресам, добавляя ранее полученный токен в качестве параметра запроса (или, что менее желательно, заголовка HTTP-запроса).
Клиент не может хранить файлы cookie.
Поскольку мы уже используем Spring, решение должно использовать Spring Security.
Мы бились головой о стену, пытаясь заставить это работать, так что, надеюсь, кто-то уже решил эту проблему.
Учитывая приведенный выше сценарий, как вы могли бы решить эту конкретную проблему?