试图将Okta集成到我的Spring Web MVC应用程序中 . 由于我'm not using Spring Boot, I'被迫在最底层的这个链接中跟随示例:https://github.com/spring-projects/spring-security/tree/master/samples/boot/oauth2login

所以这就是我所拥有的:

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Value("#{environment['okta.client-id']}")
    private String clientId;
    @Value("#{environment['okta.client-secret']}")
    private String clientSecret;
    @Value("#{environment['okta.redirect-uri']}")
    private String redirectUri;
    @Value("#{environment['okta.authorization-uri']}")
    private String authorizationUri;
    @Value("#{environment['okta.token-uri']}")
    private String tokenUri;
    @Value("#{environment['okta.user-info-uri']}")
    private String userInfoUri;

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .oauth2Login()
                .clients(clientRegistrationRepository())
                .userInfoEndpoint()
                .userInfoTypeConverter(
                        new UserInfoConverter(),
                        new URI(userInfoUri));
    }

    @Bean
    public ClientRegistrationRepository clientRegistrationRepository() {
        List<ClientRegistration> clientRegistrations = Collections.singletonList(clientRegistration());

        return new InMemoryClientRegistrationRepository(clientRegistrations);
    }

    private ClientRegistration clientRegistration() {

        return new ClientRegistration.Builder(clientId)
                .clientSecret(clientSecret)
                .clientAuthenticationMethod(ClientAuthenticationMethod.BASIC)
                .authorizedGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
                .redirectUri(redirectUri)
                .scopes("openid", "email", "profile")
                .authorizationUri(authorizationUri)
                .tokenUri(tokenUri)
                .userInfoUri(userInfoUri)
                .clientName("Okta")
                .clientAlias("okta")
                .build();
    }
}

但是,只要我使用Okta成功登录,它就会将我重定向回登录页面:(http://localhost:8081/login) . 单击Okta按钮再次登录也会将我重定向到同一页面 .

任何的意见都将会有帮助 .