Я использую 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.