在 Spring Security OpenID/SAML 中一路传递初始查询参数

问题描述 投票:0回答:1

我使用 Spring Security 进行了 OpenID 和 SAML 集成。我正在使用服务启动的流程。我想在身份验证发生后将初始 URL 中存在的任何查询参数一直传递到最终重定向。

示例流程为:

  1. 用户来电
    localhost:8080/auth-server/openid?param1=value1
  2. 身份验证服务器断言没有会话并重定向到
    localhost:8080/auth-server/oauth2/authorization/registrationId
    (这是
    OAuth2AuthorizationRequestRedirectFilter.DEFAULT_AUTHORIZATION_REQUEST_BASE_URI
    中的默认网址)
  3. 身份验证服务器随后重定向至 IdP(位于
    https://idpurl.com/myAppId?params...
  4. IdP 进行身份验证并最终重定向回
    localhost:8080/auth-server/login/oauth2/code/registrationId?params...
  5. Auth Server 完成认证并最终重定向回原始 url
    localhost:8080/auth-server/openid
    只是这一次,没有
    param1

我正在寻找一种方法来将

param1
一路传递到最终重定向。 Spring Security 支持吗?有没有简单的方法可以做到这一点?

spring-security openid saml-2.0
1个回答
0
投票

开箱即用的解决方案是使用

SavedRequestAwareAuthenticationSuccessHandler
保存原始请求并在身份验证成功后重播以进行最终重定向。

© www.soinside.com 2019 - 2024. All rights reserved.