Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring安全性中的哪个类/方法处理重定向到/oauth2/authorization/{registrationId}?需要为容器重写_Java_Spring_Spring Boot_Spring Security_Spring Security Oauth2 - Fatal编程技术网

Java Spring安全性中的哪个类/方法处理重定向到/oauth2/authorization/{registrationId}?需要为容器重写

Java Spring安全性中的哪个类/方法处理重定向到/oauth2/authorization/{registrationId}?需要为容器重写,java,spring,spring-boot,spring-security,spring-security-oauth2,Java,Spring,Spring Boot,Spring Security,Spring Security Oauth2,我们正在网关后面的docker容器中部署API。网关背后的一切都是http,而不是https。因此,当Spring Security尝试将用户重定向到授权Uri时,它会将用户重定向到http,http抛出404。(因为当重定向命中用户的浏览器时,浏览器无法在http上找到它,只能在https上找到它) 我无法找到发生此重定向的位置。例如,如果用户转到https://thecompany.com/securedpage,Spring Security发现它们没有经过身份验证(没有JWT),一些代码

我们正在网关后面的docker容器中部署API。网关背后的一切都是http,而不是https。因此,当Spring Security尝试将用户重定向到授权Uri时,它会将用户重定向到http,http抛出404。(因为当重定向命中用户的浏览器时,浏览器无法在http上找到它,只能在https上找到它)

我无法找到发生此重定向的位置。例如,如果用户转到
https://thecompany.com/securedpage
,Spring Security发现它们没有经过身份验证(没有JWT),一些代码将重定向到
/oauth2/authorization/{regsitrationId}

我找到了执行解析的位置(
OAuth2AuthorizationRequestRedirectWebFilter.filter(ServerWebExchange exchange、WebFilterChain)
但我似乎找不到重定向发生的位置。我沿着安全文件管理器链走了一路,但即使在最后一条链上,重定向响应中也没有标题,也没有状态为
302


如何覆盖重定向以强制使用https?

您是否遵循spring安全文档中的“配置网关”一章


您需要通过设置X-Forwarded头并在应用程序中配置ForwardedHeaderFilter,使应用程序了解该配置(https-->网关-->http-->您的应用程序)

您使用的网关是什么?网关应该解决此问题,而不是应用程序服务器。您使用的是WebFlux吗?@NatFar是的,我使用的是WebFlux