Я занимаюсь разработкой приложения на основе микросервиса, используя Zuul в качестве шлюза API, но у меня есть некоторые опасения, связанные с системой безопасности.
В настоящий момент у меня есть уровень безопасности, разработанный с использованием пружинной безопасности, который находится прямо перед зуул шлюз. Это означает, что каждый микросервис позади свободен от логинов аутентификации / авторизации c, потому что он выполняется на уровне zuul.
Пользователь в основном предоставляет свои учетные данные службе аутентификации, которая создает и возвращает клиенту токены доступа и refre sh. Для каждого последующего запроса к защищенному API, предоставляемому микросервисами, клиент отправляет токен доступа, который, в случае подтверждения, разрешает доступ.
Когда истекает срок действия токена доступа, клиент использует токен refre sh для получения нового доступа. маркер. Моя проблема в том, где хранить эти токены на стороне клиента. Я думал о сохранении токена доступа в памяти из-за его очень ограниченной продолжительности (10 минут) и о том, что токен refre sh в httponly cook ie защищен от CSRF.
Другая проблема заключается в том, что те же ресурсы могут быть доступ с помощью мобильного приложения и веб-сайта. Насколько я знаю, мобильный телефон не нуждается в защите от CSRF. Как бы вы справились с таким сценарием? Как управлять этими токенами на стороне клиента?