services:
    app.security.authenticator.portal.facebook:
        class: App\Security\Authenticator\Portal\FacebookAuthenticator
        arguments:
            - '@app.social.client.facebook'
            - '@app.factory.user'
            - '@app.social.user_updater.facebook'
            - '@App\Repository\User\UserRepository'
            - '@event_dispatcher'
            - '@security.authentication.success_handler.portal_api.refresh_jwt'
            - '@security.authentication.failure_handler.portal_api.refresh_jwt'

    app.security.authenticator.portal.google:
        class: App\Security\Authenticator\Portal\GoogleAuthenticator
        arguments:
            - '@app.social.client.google'
            - '@app.factory.user'
            - '@app.social.user_updater.google'
            - '@App\Repository\User\UserRepository'
            - '@event_dispatcher'
            - '@security.authentication.success_handler.portal_api.refresh_jwt'
            - '@security.authentication.failure_handler.portal_api.refresh_jwt'

    app.security.authenticator.portal.password:
        class: App\Security\Authenticator\Portal\PasswordAuthenticator
        arguments:
            - '@serializer'
            - '@validator'
            - '@security.user.provider.concrete.user_provider'
            - '@security.authentication.success_handler.portal_api.refresh_jwt'
            - '@security.authentication.failure_handler.portal_api.refresh_jwt'
