spring cloud zuul ouath2密码验证

时间:2016-03-11 09:51:52

标签: spring spring-cloud spring-cloud-netflix

我目前正在Spring spring微服务中构建安全解决方案。

当组合弹簧OAuth2和Zuul实现时,很容易构建如下的身份验证过程:

  • 用户调用最初知道的ui:用户未经过身份验证
  • 重定向到auth服务器以询问用户的登录信用
  • 将他重定向回ui,提供代码或令牌。

我更倾向于使用密码认证流程,其中auth服务器落后于zuul

例如:

  • 1.2.3.4:8080是Zuul(带有angularJS的UI),域" example.com"
  • 1.2.3.5:9000是Auth Server

我可以用某种方式配置zuul,直接访问1.2.3.5:9000,传递表单字段和基本身份验证以传递客户端ID。

由于auth服务器将自己注册到eureka,我也可以使用" example.com/auth_server" ;,这是相同的,但是通过zuul进行管理。或者我也可以手动配置....但是:

密码验证不起作用,因为Zuul正在从呼叫中删除基本验证头....

此时,我发现我做错了...因为边缘服务器可以拥有它自己的安全解决方案并且将基本身份验证隧道传输到auth可能不是最好的方法....但是< / p>

我如何使用ouath2到zuul管理密码验证?

请帮助:)

2 个答案:

答案 0 :(得分:0)

默认情况下,“Cookie”,“Set-Cookie”,“授权”在路由上标记为敏感标头,不会转发。设置zuul.routes.myroute.sensitiveHeaders=''应该允许您通过这些标题,但我不确定这是最好的主意。

答案 1 :(得分:0)

问题是晚上工作时间较晚:)

发出请求的组件没有发送授权,因为导致没有标题的某些更新已经到达边缘服务器。

显然,如果基本或不记名授权标题通过

,一切都按预期工作