【问题标题】:Spring boot oauth2, how to retrieve the initial request before authentication?Spring boot oauth2,如何在认证前检索初始请求?
【发布时间】:2022-01-14 06:36:30
【问题描述】:

我正在使用以下依赖项

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-oauth2-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.projectreactor</groupId>
            <artifactId>reactor-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

我为端点 /login 启用了 oauth2,现在当我在成功验证后访问 URL /login?foo=bar 时,我被重定向到路径 /。我知道我可以使用ServerAuthenticationSuccessHandler.setLocation() 方法设置重定向网址,但我希望能够使用查询参数foo 及其值bar 重定向到页面success.html,类似于/success.html?foo=bar,我该如何检索在身份验证之前最初向登录端点发出的请求?

【问题讨论】:

    标签: spring spring-boot spring-webflux


    【解决方案1】:

    我发现了这个问题,spring oauth2 客户端的默认行为是重定向到受保护的资源,在我的情况下,我限制了 /foo/login 端点但从 /login 端点开始了身份验证,这就是 spring 没有重定向的原因到受保护的资源。

    【讨论】:

      猜你喜欢
      • 2021-06-22
      • 2016-06-29
      • 2019-07-14
      • 1970-01-01
      • 2017-12-10
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 2013-04-11
      相关资源
      最近更新 更多