@Bean
        @ConditionalOnMissingBean(name = RestAuthenticationService.DEFAULT_BEAN_NAME)
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public RestAuthenticationService restAuthenticationService(
            final ConfigurableApplicationContext applicationContext,
            @Qualifier("restAuthenticationPolicy")
            final AuthenticationPolicy restAuthenticationPolicy,
            @Qualifier("restHttpRequestCredentialFactory")
            final RestHttpRequestCredentialFactory restHttpRequestCredentialFactory,
            @Qualifier(MultifactorAuthenticationTriggerSelectionStrategy.BEAN_NAME)
            final MultifactorAuthenticationTriggerSelectionStrategy multifactorTriggerSelectionStrategy,
            @Qualifier(WebApplicationService.BEAN_NAME_FACTORY)
            final ServiceFactory<WebApplicationService> webApplicationServiceFactory,
            @Qualifier(AuthenticationSystemSupport.BEAN_NAME)
            final AuthenticationSystemSupport authenticationSystemSupport,
            @Qualifier(ServicesManager.BEAN_NAME)
            final ServicesManager servicesManager,
            @Qualifier("requestedContextValidator")
            final RequestedAuthenticationContextValidator requestedContextValidator) {
            return new DefaultRestAuthenticationService(
                authenticationSystemSupport, restHttpRequestCredentialFactory,
                webApplicationServiceFactory, multifactorTriggerSelectionStrategy,
                servicesManager, requestedContextValidator, restAuthenticationPolicy, applicationContext);
        }
This is {@link CasCoreRestAutoConfiguration}.

@author Misagh Moayyed
@since 6.4.0
core/cas-server-core-rest/src/main/java/org/apereo/cas/config/CasCoreRestAutoConfiguration.java