@Bean
        @ConditionalOnMissingBean(name = "qrAuthenticationTokenValidatorService")
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public QRAuthenticationTokenValidatorService qrAuthenticationTokenValidatorService(
            final CasConfigurationProperties casProperties,
            @Qualifier("qrAuthenticationDeviceRepository")
            final QRAuthenticationDeviceRepository qrAuthenticationDeviceRepository,
            @Qualifier(JwtBuilder.TICKET_JWT_BUILDER_BEAN_NAME)
            final JwtBuilder tokenTicketJwtBuilder,
            @Qualifier(TicketRegistry.BEAN_NAME)
            final TicketRegistry ticketRegistry) {
            return new DefaultQRAuthenticationTokenValidatorService(tokenTicketJwtBuilder,
                ticketRegistry, casProperties, qrAuthenticationDeviceRepository);
        }
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