<?xml version="1.0" ?>

<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="lexik_jwt_authentication.jwt_manager" class="Lexik\Bundle\JWTAuthenticationBundle\Services\JWTManager" public="true">
            <argument type="service" id="lexik_jwt_authentication.encoder"/>
            <argument type="service" id="event_dispatcher"/>
            <argument>%lexik_jwt_authentication.user_id_claim%</argument>
            <argument type="service" id="lexik_jwt_authentication.payload_enrichment"/>
            <call method="setUserIdentityField">
                <argument>%lexik_jwt_authentication.user_identity_field%</argument>
                <argument>false</argument>
            </call>
        </service>

        <service id="Lexik\Bundle\JWTAuthenticationBundle\Services\JWTTokenManagerInterface" alias="lexik_jwt_authentication.jwt_manager" />

        <service id="lexik_jwt_authentication.payload_enrichment.random_jti_enrichment" class="Lexik\Bundle\JWTAuthenticationBundle\Services\PayloadEnrichment\RandomJtiEnrichment">
            <tag name="lexik_jwt_authentication.payload_enrichment" priority="0" />
        </service>
        <service id="lexik_jwt_authentication.payload_enrichment" class="Lexik\Bundle\JWTAuthenticationBundle\Services\PayloadEnrichment\ChainEnrichment">
            <argument type="collection"/>
        </service>
    </services>
</container>
