@Bean
    @ConditionalOnMissingBean(name = "oauth20AuthenticationRequestServiceSelectionStrategy")
    @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
    public AuthenticationServiceSelectionStrategy oauth20AuthenticationRequestServiceSelectionStrategy(
        @Qualifier(OAuth20RequestParameterResolver.BEAN_NAME)
        final OAuth20RequestParameterResolver oauthRequestParameterResolver,
        @Qualifier(WebApplicationService.BEAN_NAME_FACTORY)
        final ServiceFactory<WebApplicationService> webApplicationServiceFactory,
        @Qualifier(ServicesManager.BEAN_NAME)
        final ServicesManager servicesManager,
        final CasConfigurationProperties casProperties) {
        return new OAuth20AuthenticationServiceSelectionStrategy(servicesManager,
            webApplicationServiceFactory,
            OAuth20Utils.casOAuthCallbackUrl(casProperties.getServer().getPrefix()),
            oauthRequestParameterResolver);
    }
This is {@link CasOAuth20AuthenticationServiceSelectionStrategyConfiguration}.

@author Misagh Moayyed
@since 5.1.0
support/cas-server-support-oauth/src/main/java/org/apereo/cas/config/CasOAuth20AuthenticationServiceSelectionStrategyConfiguration.java