@ConditionalOnMissingBean(name = "qrAuthenticationTokenAuthenticationHandler")
        @Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public AuthenticationHandler qrAuthenticationTokenAuthenticationHandler(
            @Qualifier("qrAuthenticationPrincipalFactory")
            final PrincipalFactory qrAuthenticationPrincipalFactory,
            @Qualifier("qrAuthenticationTokenValidatorService")
            final QRAuthenticationTokenValidatorService qrAuthenticationTokenValidatorService,
            @Qualifier(ServicesManager.BEAN_NAME)
            final ServicesManager servicesManager) {
            return new QRAuthenticationTokenAuthenticationHandler(servicesManager, qrAuthenticationPrincipalFactory, qrAuthenticationTokenValidatorService);
        }
This is {@link CasQRAuthenticationAutoConfiguration}.

@author Misagh Moayyed
@since 6.3.0
support/cas-server-support-qr-authentication/src/main/java/org/apereo/cas/config/CasQRAuthenticationAutoConfiguration.java