2

Я пытаюсь реализовать Spring OAuth. Я новичок в этом, и я пытаюсь понять, как это работает.Spring Oauth Token storeing

Мои вопросы:

  1. OAuth генерирует маркер после аутентификации и этот маркер должен быть использован для каждого запроса пользователь делает. Нам нужно добавить этот access_token к каждому вызову API REST для доступа к ресурсам. Я правильно звучал?
  2. Нужно ли хранить этот токен на стороне клиента (используя файлы cookie)? или все равно так, что нам не нужно хранить этот токен на стороне клиента и может быть обработан на стороне сервера?
  3. Если нам нужно сохранить токен на стороне клиента, что это лучший способ сделать это? Я прошел через это link

ответ

0
  1. Если конечная точка на сервере защищена OAuth, то да, вы должны пройти фишку с каждым запросом - вероятно, в «Авторизация: {маркер} однонаправленного» заголовок. Весной его решали с помощью другого restTemplate - OAuth2RestTemplate, который автоматически извлекал его и добавлял к запросу.
  2. Вы просто храните только JSESSIONID в файле cookie. Затем весенний сеанс чтения из магазина (диск, где tomcat установлен/redis, если вы используете проект Spring Session/etc)
  3. Токен доступа должен быть относительно коротким. Также должна быть доступна конечная точка отзыва, чтобы можно было аннулировать определенный токен, когда есть основания полагать, что он был скомпрометирован.

3.a) есть еще одна проблема с хранением некоторых данных на стороне клиента. О его хранении clientId, clientSecret в мобильных родных приложениях. Код Android-приложений можно легко настроить с обратной обработкой, поэтому каждый может попытаться использовать ваше приложение oauth для получения токена. В этих ситуациях его рекомендуется использовать другой тип гранта «пароль» - отметьте https://aaronparecki.com/2012/07/29/2/oauth2-simplified#other-app-types

+0

благодарю вас за ответ. Не могли бы вы дать мне более подробную информацию о JSESSIONID, как ее реализовать? Предоставьте мне любые ссылки. – Anonymous

+0

его имя файла cookie по умолчанию, используемое весной для обработки сеанса. Постарайтесь хранить что-либо в сеансе в вашем контроллере весны. Тогда вы должны увидеть этот файл cookie в firebug. – freakman