Я использую Keycloak 2.5.0.CR1 для управления идентификацией и доступом для защиты микросервисов Spring Cload с помощью OAUTH2 и JWT. Это прекрасно работает с угловым интерфейсом и надежностью пружины в сочетании с адаптером keycloak-spring-security.Почему Keycloak OAUTH2 с Netflix Zuul Обратный прокси не пропускает токен
Проблема заключается в сочетании с Netflix Zuul Reverse Proxy:
Я хочу использовать Netflix Zuul Обратный прокси в одной отделенной службе только отправить запрос от интерфейса к этому apigateway, а затем этот один посылает запрос на соответствующий микросервис в бэкэнд. Каждый микросервис использует маркер для авторизации и обрабатывает безопасность с помощью keycloak на своем.
Далее я попробовал:
apigateway microservice:
@EnableEurekaClient
@EnableZuulProxy
@EnableOauth2Sso
@SpringBootApplication
public class ApigatewayApplication {
public static void main(String[] args) {
SpringApplication.run(ApigatewayApplication.class, args);
}
application.properties:
security.oauth2.client.access-token-uri:http://localhost:8080/auth/realms/myrealm/protocol/openid-connect/token
security.oauth2.client.userAuthorizationUri:http://localhost:8080/auth/realms/myrealm/protocol/openid-connect/auth
security.oauth2.client.clientId:tutorial-frontend
security.oauth2.client.clientSecret:
security.oauth2.resource.user-info-uri=http://authrealms/myrealm/protocol/openid-connect/userinfo
zuul.sensitive-headers=Cookie,Set-Cookie
один из крепежного microservice:
@EnableResourceServer
@EnableDiscoveryClient
@SpringBootApplication
public class BusinessApplication {
public static void main(String[] args) {
SpringApplication.run(BusinessApplication.class, args);
}
}
Это см ms Netflix Zuul не отправляет токен в серверную службу mircoservice и пытается позвонить все время http://localhost:8080/login.
Response 500 с "Invalid параметра: redirect_uri"
я упускаю что-то?
Я искал весь интернет и не смог найти решение. Надеюсь на помощь.