Spring Gateway OAuth - 重定向的完整 URL
Posted
技术标签:
【中文标题】Spring Gateway OAuth - 重定向的完整 URL【英文标题】:Spring Gateway OAuth - Full URL on redirect 【发布时间】:2020-11-24 03:30:53 【问题描述】:我们正在使用 Spring Gateway Service for Security (OAuth2)。登录重定向响应为相对路径 例如:位置:/oauth2/authorization/client1。
我们如何强制在重定向时响应完整的 url(总是,不仅仅是登录)
例如:位置:https://example.com/oauth2/authorization/google
请帮忙。
【问题讨论】:
可以分享配置吗? 【参考方案1】:这是我的工作方式 - 至少对于身份验证条目和身份验证成功 url。
通过扩展 DefaultServerRedirectStrategy 创建一个类,并通过将 baseUrl(模式、主机和端口)添加到 uri 参数来实现 sendRedirect 方法。
创建一个 RedirectServerAuthenicationSuccessHandler 实例并设置在步骤 1 中创建的 redirectStrategy。
在 ServerHttpSecurity.oauth2Login() 中设置步骤 2 中创建的 authentionSuccessHandler
像第 2 步和第 3 步一样,创建一个 RedirectServerAuthenticationEntryPoint 实例,设置 redirectStragey 并将其添加到 ServerHttpSecurity.exceptionHandling()
希望这对寻求解决方案的人有所帮助。
【讨论】:
任何其他解决方案,请发布。以上是关于Spring Gateway OAuth - 重定向的完整 URL的主要内容,如果未能解决你的问题,请参考以下文章
Spring Gateway OAuth - 重定向的完整 URL
Spring Cloud Gateway OAuth2 with Spring Security OAuth2 Authorization Server = loop
使用 spring gateway 和 Oauth2 配置 Client Credentials Flow
在 Spring Cloud Gateway 的 oauth2 客户端流中禁用重定向到 oauth2/authorization/registrationId