@Bean
    @ConditionalOnMissingBean(name = "googleAuthenticatorDynamoDbTokenRepositoryFacilitator")
    @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
    public GoogleAuthenticatorDynamoDbTokenRepositoryFacilitator googleAuthenticatorDynamoDbTokenRepositoryFacilitator(
        final CasConfigurationProperties casProperties,
        @Qualifier("amazonDynamoDbGoogleAuthenticatorClient")
        final DynamoDbClient amazonDynamoDbGoogleAuthenticatorClient) {
        val dynamoDbProperties = casProperties.getAuthn().getMfa().getGauth().getDynamoDb();
        val facilitator = new GoogleAuthenticatorDynamoDbTokenRepositoryFacilitator(
            dynamoDbProperties, amazonDynamoDbGoogleAuthenticatorClient);
        if (!dynamoDbProperties.isPreventTableCreationOnStartup()) {
            facilitator.createTable(dynamoDbProperties.isDropTablesOnStartup());
        }
        return facilitator;
    }
This is {@link CasGoogleAuthenticatorDynamoDbAutoConfiguration}.

@author Misagh Moayyed
@since 5.1.0
support/cas-server-support-gauth-dynamodb/src/main/java/org/apereo/cas/config/CasGoogleAuthenticatorDynamoDbAutoConfiguration.java