Как использовать имя службы вместо внешнего IP / доменного имени для «security.oauth2.resource.tokenInfoUri» - PullRequest
0 голосов
/ 20 мая 2019

Я использую Spring cloud с OAuth2. У меня есть 4 заявки, как указано ниже:

1) Eureka сервер: Сервис Регистрация.
2) зуул как Api Gateway
3) Сервер аутентификации - который возвращает access_token клиенту после успешной аутентификации.
4) Сервер ресурсов - хочет проверить токен перед предоставлением доступа к ресурсу.

Я использовал приведенную ниже конфигурацию в application.properties:

security.oauth2.resource.tokenInfoUri=http://localhost:9600/oauth/check_token
security.oauth2.client.client-id=resourceServer-client
security.oauth2.client.client-secret=secret

Я не хочу давать жестко закодированный ipaddress / hostname для "tokenInfoUri" в application.properties. Я хочу получить доступ к серверу аутентификации по его имени службы, поскольку может быть несколько экземпляров сервера аутентификации.

Как я могу это сделать?

Я проверил код, как tokenInfoUri работает при весенней загрузке с использованием oauth2, и обнаружил, что ResourceServerTokenServicesConfiguration -> RemoteTokenServicesConfiguration -> remoteTokenServices() метод, в котором tokenInfoUri используется из ResourceServerProperties.java как @ ConfigurationProperties.

Я не хочу использовать токен JWT для проверки токена. Я хочу проверить использование удаленного вызова с сервера ресурсов на AuthServer.

...