Spring Boot Secured Rest API - PullRequest
       18

Spring Boot Secured Rest API

0 голосов
/ 05 октября 2018

В настоящее время я пытался понять концепцию защищенных микросервисов и хочу использовать Spring Boot и Spring Security.

Внешний интерфейс: вход в систему через провайдера oauth2 + получение токена.

REST-API: запрос с токеном в заголовке + проверка токена + возврат myListOfinterestingThings()

Я думал, что Security 5библиотека - хороший инструмент для реализации этого подхода.Это пример, который я пробовал, но я не знаю, как обеспечить, чтобы мой REST-API не перенаправлял на страницу входа.

Нужно ли полагаться на пользовательский фильтр, который я должен реализовать?Я думал, что "магия" Spring Boot и Security 5 будет достаточно сильной: D

https://github.com/oktadeveloper/okta-spring-security-5-example

Ответы [ 2 ]

0 голосов
/ 06 октября 2018

Вы должны использовать защиту без сохранения состояния на основе JWT.Простой процесс: после входа в систему AUTH микросервис должен вернуть токен JWT с учетными данными пользователя.После этого при каждом запросе интерфейс должен отправлять этот токен обратно.Заказывайте сервис каждый раз, стоит позвонить в сервис AUTH и проверить токен.После каждого логина токен должен быть сгенерирован заново.Ни один микросервис не помнит государства.Все необходимо реконструировать после каждого запроса.Нет выхода.

0 голосов
/ 05 октября 2018

Вы можете сделать это разными способами.Используя Spring Security, вы можете реализовать WebMVcConfigurer и настроить защиту ваших ресурсов.Но это не идеальное дополнение для микросервиса.Если вы намереваетесь защитить API, но не предоставить логин, вы можете пойти на JWT.Использование токена JWT обеспечивается приложением или API, который генерирует токен JWT, который может состоять из данных пользователя, ролей и действительности токена.А в ваших сервисах вы можете использовать эти токены JWT для аутентификации и авторизации ваших API.

...