为什么Keycloak OAUTH2与Netflix Zuul反向代理不通过令牌

时间:2017-01-03 21:24:23

标签: spring-security oauth-2.0 jwt keycloak netflix-zuul

我使用Keycloak 2.5.0.CR1进行身份和访问管理,以使用OAUTH2和JWT保护Spring Cload微服务。这与角度前端和弹簧安全性以及keycloak-spring-security-adapter一起使用时效果很好。

问题与Netflix Zuul Reverse Proxy结合使用:

我想在一个单独的服务中使用Netflix Zuul Reverse Proxy,只将请求从前端发送到此apigateway,然后这个请求将请求发送到后端的相应微服务。每个微服务都使用令牌进行授权,并使用keycloak处理安全性。

以下我尝试过:

apigateway微服务:

@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 

安全微服务之一:

@EnableResourceServer
@EnableDiscoveryClient
@SpringBootApplication
public class BusinessApplication {

   public static void main(String[] args) {
      SpringApplication.run(BusinessApplication.class, args);
   }
 }

似乎Netflix Zuul不会将令牌发送到后端mircoservice并尝试一直调用http://localhost:8080/login

响应为500,“无效参数:redirect_uri”

我错过了什么吗?

我搜索了整个互联网,无法找到解决方案。希望得到帮助。

1 个答案:

答案 0 :(得分:0)

"参数无效:redirect_uri"

建议在Keycloak中错误配置您的客户端