@Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        @ConditionalOnMissingBean(name = PasswordlessTokenRepository.BEAN_NAME)
        public PasswordlessTokenRepository passwordlessTokenRepository(final CasConfigurationProperties casProperties,
                                                                       @Qualifier("passwordlessCipherExecutor") final CipherExecutor passwordlessCipherExecutor) {
            val tokens = casProperties.getAuthn().getPasswordless().getTokens();
            val expiration = Beans.newDuration(tokens.getCore().getExpiration()).toSeconds();

            if (StringUtils.isNotBlank(tokens.getRest().getUrl())) {
                return new RestfulPasswordlessTokenRepository(expiration, tokens.getRest(), passwordlessCipherExecutor);
            }
            return new InMemoryPasswordlessTokenRepository(expiration, passwordlessCipherExecutor);
        }
This is {@link CasPasswordlessAuthenticationAutoConfiguration}.

@author Misagh Moayyed
@since 5.3.0
support/cas-server-support-passwordless-authentication/src/main/java/org/apereo/cas/config/CasPasswordlessAuthenticationAutoConfiguration.java