<?xml version="1.0" encoding="UTF-8"?>
<container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
	<services>
		<service id="scheb_two_factor.security.authenticator" class="Scheb\TwoFactorBundle\Security\Http\Authenticator\TwoFactorAuthenticator" abstract="true">
			<argument /> <!-- Two-factor firewall config -->
			<argument type="service" id="security.token_storage"/>
			<argument /> <!-- Success handler -->
			<argument /> <!-- Failure handler -->
			<argument /> <!-- Authentication required handler -->
			<argument type="service" id="event_dispatcher" />
			<argument type="service" id="logger" on-invalid="null" />
			<tag name="monolog.logger" channel="security" />
		</service>

		<service id="scheb_two_factor.security.listener.token_created" class="Scheb\TwoFactorBundle\Security\TwoFactor\Event\AuthenticationTokenListener" abstract="true">
			<argument type="string" /> <!-- Firewall name -->
			<argument type="service" id="scheb_two_factor.first_two_factor_handler" />
			<argument type="service" id="scheb_two_factor.authentication_context_factory" />
			<argument type="service" id="request_stack" />
		</service>

		<service id="scheb_two_factor.security.listener.check_two_factor_code" class="\Scheb\TwoFactorBundle\Security\Http\EventListener\CheckTwoFactorCodeListener">
			<argument type="service" id="scheb_two_factor.provider_preparation_recorder" />
			<argument type="service" id="scheb_two_factor.provider_registry" />
			<tag name="kernel.event_subscriber" />
		</service>

		<service id="scheb_two_factor.security.listener.suppress_remember_me" class="\Scheb\TwoFactorBundle\Security\Http\EventListener\SuppressRememberMeListener">
			<tag name="kernel.event_subscriber" />
		</service>
	</services>
</container>
