代码之家  ›  专栏  ›  技术社区  ›  Don Rhummy

SpringSecurity中的哪个类/方法处理重定向到/oauth2/authorization/{registrationid}?需要重写容器

  •  0
  • Don Rhummy  · 技术社区  · 7 年前

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

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

    我找到了解决办法( OAuth2AuthorizationRequestRedirectWebFilter.filter(ServerWebExchange exchange, WebFilterChain chain) 但我似乎找不到重定向发生的地方。我沿着安全文件管理器链一直走下去,但即使在最后一个链接中,响应中也没有重定向的头,也没有 302

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

    0 回复  |  直到 7 年前
        1
  •  1
  •   Sébastien PRAT    7 年前

    你有没有遵循这一章? Proxy Server Configuration “从Spring安全文档中配置网关?

    您需要通过设置x-forwarded头和在应用程序中配置forwardedheaderfilter使应用程序了解该配置(https--gt;gateway--gt;http--gt;您的应用程序)