Okta Spring Boot 凭证无效

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

我们正在通过公司的 Okta 服务器对 Spring Boot Web 应用程序实施授权。这个想法是允许用户登录公司的 Okta 仪表板,然后从那里单击我们的应用程序。但是,我们无法将用户重定向到我们的应用程序 API 调用。我们在 Okta 应用程序上有以下配置:

登录重定向 URIhttps://backend-web-api.com/authorization-code/callback

登录发起者:Okta 或 APP

登录流程:重定向到应用程序以启动登录(符合OIDC)

启动登录 URIhttps://backend-web-api.com/user/authorize

我们有带有 /user/authorize 的控制器,但请求没有重定向到我们在启动登录 URI 请求中提到的该控制器

我们正在使用 Okta spring Boot starter (2.1.7)、Spring boot starter 父版本 2.7.3 和以下安全配置代码

    public SecurityFilterChain configure(HttpSecurity http) throws Exception {

       http
               .csrf().disable()
               .authorizeRequests()
               .antMatchers(HttpMethod.OPTIONS).permitAll()
               .antMatchers("/resources/**", "/registration").permitAll()
               .antMatchers("/user/authorize*").authenticated()
               .and()
               .logout().logoutSuccessUrl("/").permitAll()
               .and()
               .oauth2Client()
               .and()
               .oauth2Login();

        http.oauth2Login(Customizer.withDefaults());
        http.oauth2ResourceServer(oauth2-> oauth2.jwt(Customizer.withDefaults()));

        return http.build();
    }

属性文件如下:

okta.oauth2.issuer=https://company-url.org/oauth2/default
okta.oauth2.client-id=####
okta.oauth2.client-secret=########
okta.oauth2.redirect-uri=/authorization-code/callback

我们收到的错误是无效凭据,这是所附的相同屏幕截图

以下是我们通过 Okta 仪表板单击应用程序链接时的网络选项卡。

我们是否遗漏了什么?或者我们没有遵循正确的步骤。请帮助我们,因为我们无法通过其他问题和在线研究找出答案。

java spring spring-boot spring-security okta
1个回答
0
投票

我们能够解决这个问题。问题是多个服务器正在运行,并且来自 okta 的授权请求通过 ELB 传播到不同的实例,最终导致凭证无效。我们通过 StickySessions 启用了 ELB,然后问题就得到了解决。

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