Есть микросервисы, которые защищены Spring Security OAuth2.Тип гранта в Authorization_code
.Список приложений:
1- Zuul Gateway в качестве клиента OAuth2.
2- UAA (сервер авторизации).
3-10 микро в качестве серверов ресурсов, для которых выполняется резервное копированиеза Zuul.
4- TokenStore является JdbcTokenStore.
Все работает правильно, как и ожидалось.
На серверах ресурсов из-за несовместимости между этими приложениями, такими как Micro, и проблемойСериализации и десериализации, для извлечения UserInfo вместо DefaultTokenServices
есть RemoteTokenServices
, поэтому на любом сервере ресурсов есть:
security:
oauth2:
resource:
user-info-uri: http://localhost:9191/uaa/user
Для меня существует жизненно важный вопрос , почему каждый Сервер ресурсов вызывает UAA для любого запроса ? (Чтобы увидеть исходный код щелкните по мне ) Разве не лучше, чтобы он вызывал UAA, как только получил первый запрос каждого токена?и Принципал сохраняется на Ресурсном Сервере для следующего запроса этого токена до тех пор, пока ему не потребуется повторно вызывать UAA.
С другой стороны, каждый Ресурсный сервер вызывает только UAA как soon как получение первого запроса для любого отдельного токена, и он используется для следующих запросов?