我目前正在 Spring Cloud 微服务中构建安全解决方案。
当结合 springs OAuth2 和 Zuul 实现时,很容易构建一个身份验证过程,例如:
- 用户调用 ui,它最初知道:用户未通过身份验证
- 重定向到身份验证服务器以询问用户他的登录凭据
- 将他重定向回 ui,提供代码或令牌。
我更喜欢带有密码身份验证流程的流程,以一种身份验证服务器位于 zuul 后面的方式
例如:
- 1.2.3.4:8080 是 Zuul(带有 angularJS 的 UI),域“example.com”
- 1.2.3.5:9000 是认证服务器
我可以通过某种方式配置 zuul,直接访问 1.2.3.5:9000,通过表单字段和基本身份验证来传递客户端 ID。
由于身份验证服务器将自己注册到 eureka,我还可以使用“example.com/auth_server”,它是相同的,但通过 zuul 管理。或者我也可以手动配置它....尽管如此:
密码身份验证不起作用,因为 Zuul 正在从调用中删除基本身份验证标头......
在这一点上,我发现我做错了什么......因为边缘服务可能有它自己的安全解决方案,并且将基本身份验证隧道传输到身份验证可能不是最好的方法......但是
如何通过 zuul 使用 ouath2 管理密码认证?
请帮忙 :)