如何在 Spring OAuth 中相对重定向到授权端点?
How to make relative redirect to Authorization Endpoint in Spring OAuth?
我用 oauth2Login
配置了一个服务。
当 he/she 未被授权时,用户被重定向到授权端点 - /oauth2/authorization/{registrationId}
。
我想以考虑路径前缀的方式自定义重定向,因为可以通过前缀 /api/myapp/
.
访问应用程序
从源代码中我可以看到 Spring 安全设置期间有 OAuth2AuthorizationRequestRedirectWebFilter
并且此过滤器使用 DefaultServerRedirectStrategy
来决定位置是否是相对的。此外,它使用 contextPath
,在使用 Spring Boot.
时很难设置
不幸的是,我不知道如何覆盖默认行为以进行相对重定向。
我不需要修改contextPath
。相反,我已经将 ForwardedHeaderTransformer
注册为一个 bean。
此转换器能够检索由代理 (X-Forwarded-Prefix
) 设置的 headers 并正确设置请求的上下文路径。
我用 oauth2Login
配置了一个服务。
当 he/she 未被授权时,用户被重定向到授权端点 - /oauth2/authorization/{registrationId}
。
我想以考虑路径前缀的方式自定义重定向,因为可以通过前缀 /api/myapp/
.
从源代码中我可以看到 Spring 安全设置期间有 OAuth2AuthorizationRequestRedirectWebFilter
并且此过滤器使用 DefaultServerRedirectStrategy
来决定位置是否是相对的。此外,它使用 contextPath
,在使用 Spring Boot.
不幸的是,我不知道如何覆盖默认行为以进行相对重定向。
我不需要修改contextPath
。相反,我已经将 ForwardedHeaderTransformer
注册为一个 bean。
此转换器能够检索由代理 (X-Forwarded-Prefix
) 设置的 headers 并正确设置请求的上下文路径。