我正在使用Springboot实现oaut2服务器
我有四个微服务
所有这些服务都在Spring clold网关后面,部署在K8S下,Gateway作为外部接口公开。
现在,如果我尝试通过如下所示的网关使用oaut2对用户进行身份验证。
第一步:
请求http://www.gateway.com/oauth/authorize
所以在响应头中,我越来越喜欢
位置:超文本传输协议://iam: 8089/v1/oauth/login(但期望http://www.gateway.com/oauth/login)
由于该浏览器将我重定向到超文本传输协议://iam: 8089/oauth/login
理想情况下,我希望也通过网关服务进行路由,例如
http://www.gateway.com/oauth/login
有人能帮我解决这个问题吗?
谢谢Alpesh
听起来像是一个很好的设置,符合我们在IAM入门文章中推荐的清洁度,授权服务器(AS)位于反向代理或网关后面。
在您的例子中,AS监听超文本传输协议://Iam: 8089,但这是一个内部URL。AS还有一个Internet客户端使用的“URL”,这是网关的URL,在您的示例中http://www.gateway.com:
在Spring OAuth2 Server中应该有设置BaseURL的地方,类似于Cure Identity Server中的设置(见下图)。该过程应该是设置此值,然后验证它是否在元数据请求中返回。然后应该正确配置。
在Spring中,我希望您需要的设置在某个地方的流畅配置中——也许是配置者类之一。不过,我发现很难在Spring中找到我要找的东西。