@Bean
    @ConditionalOnAvailableEndpoint
    @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
    public TokenAuthenticationEndpoint tokenAuthenticationEndpoint(
        final ObjectProvider<CasConfigurationProperties> casProperties,
        @Qualifier(PrincipalResolver.BEAN_NAME_PRINCIPAL_RESOLVER)
        final ObjectProvider<PrincipalResolver> defaultPrincipalResolver,
        @Qualifier(ServicesManager.BEAN_NAME)
        final ObjectProvider<ServicesManager> servicesManager,
        @Qualifier(AuditableExecution.AUDITABLE_EXECUTION_REGISTERED_SERVICE_ACCESS)
        final ObjectProvider<AuditableExecution> registeredServiceAccessStrategyEnforcer,
        @Qualifier(WebApplicationService.BEAN_NAME_FACTORY)
        final ObjectProvider<ServiceFactory<WebApplicationService>> webApplicationServiceFactory,
        @Qualifier(PrincipalFactory.BEAN_NAME)
        final ObjectProvider<PrincipalFactory> principalFactory) {
        return new TokenAuthenticationEndpoint(casProperties, defaultPrincipalResolver,
            servicesManager, registeredServiceAccessStrategyEnforcer,
            webApplicationServiceFactory, principalFactory);
    }
This is {@link CasTokenAuthenticationWebflowAutoConfiguration}.

@author Misagh Moayyed
@since 5.0.0
support/cas-server-support-token-webflow/src/main/java/org/apereo/cas/config/CasTokenAuthenticationWebflowAutoConfiguration.java