@Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public WebSocketMessageBrokerConfigurer qrAuthenticationWebSocketMessageBrokerConfigurer(
            final CasConfigurationProperties casProperties) {
            return new WebSocketMessageBrokerConfigurer() {
                @Override
                public void registerStompEndpoints(
                    @Nonnull
                    final StompEndpointRegistry registry) {
                    registry.addEndpoint(ENDPOINT_QR_WEBSOCKET)
                        .setAllowedOrigins(casProperties.getAuthn().getQr().getAllowedOrigins().toArray(ArrayUtils.EMPTY_STRING_ARRAY))
                        .addInterceptors(new HttpSessionHandshakeInterceptor())
                        .withSockJS();
                }

                @Override
                public void configureMessageBroker(
                    @Nonnull
                    final MessageBrokerRegistry config) {
                    config.enableSimpleBroker(QRAuthenticationConstants.QR_SIMPLE_BROKER_DESTINATION_PREFIX);
                    config.setApplicationDestinationPrefixes("/qr");
                }
            };
        }
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