The OAuth2LoginConfigurer DSL provides the following configuration options:

http
    .oauth2Login()
        .clientRegistrationRepository(..)
        .authorizedClientRepository(..)
        .authorizedClientService(..)
        .authorizationEndpoint()
            .baseUri(..)
            .authorizationRequestResolver(..)
            .authorizationRequestRepository(..)
            .and()
        .redirectionEndpoint()
            .baseUri(..)
            .and()
        .tokenEndpoint()
            .accessTokenResponseClient(..)
            .and()
        .userInfoEndpoint()
            .userService(..)
            .oidcUserService(..)
            .customUserType(.., ..)
            .userAuthoritiesMapper(..);

We can improve the DSL so it has less levels (nesting) as follows:

http
    .oauth2Login()
        .clientRegistrationRepository(..)
        .authorizedClientRepository(..)
        .authorizedClientService(..)
        .authorizationBaseUri(..)
        .authorizationRequestResolver(..)
        .authorizationRequestRepository(..)
        .redirectionBaseUri(..)
        .accessTokenResponseClient(..)
        .userService(..)
        .oidcUserService(..)
        .customUserType(.., ..)
        .userAuthoritiesMapper(..);

Related #5662

@rwinch @jzheaux Can you please provide feedback on the proposed DSL changes.

Comment From: veskop86

IMHO first DSL is more precise, especially in part related to userInfoEndpoint()

Comment From: jgrandja

We will leave OAuth2LoginConfigurer DSL as-is since it seems intuitive based on community feedback.