<?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>
        <!-- Updated deprecation element for Symfony 5.1+ -->
        <!-- Deprecated -->
        <service id="lexik_jwt_authentication.security.authentication.provider" class="Lexik\Bundle\JWTAuthenticationBundle\Security\Authentication\Provider\JWTProvider" public="false">
            <argument /> <!-- User Provider -->
            <argument type="service" id="lexik_jwt_authentication.jwt_manager" />
            <argument type="service" id="event_dispatcher"/>
            <argument>%lexik_jwt_authentication.user_id_claim%</argument>
            <call method="setUserIdentityField">
                <argument>%lexik_jwt_authentication.user_identity_field%</argument>
            </call>
            <deprecated package="lexik/jwt-authentication-bundle" version="2.0">The "%service_id%" service is deprecated since LexikJWTAuthenticationBundle version 2.0 and will be removed in 3.0</deprecated>
        </service>
        <service id="lexik_jwt_authentication.security.authentication.listener" class="Lexik\Bundle\JWTAuthenticationBundle\Security\Firewall\JWTListener" public="false">
            <argument type="service" id="security.token_storage"/>
            <argument type="service" id="security.authentication.manager"/>
            <argument /> <!-- Options -->
            <call method="setDispatcher">
                <argument type="service" id="event_dispatcher"/>
            </call>
            <deprecated package="lexik/jwt-authentication-bundle" version="2.0">The "%service_id%" service is deprecated since LexikJWTAuthenticationBundle version 2.0 and will be removed in 3.0</deprecated>
        </service>
        <service id="lexik_jwt_authentication.security.authentication.entry_point" class="Lexik\Bundle\JWTAuthenticationBundle\Security\Http\EntryPoint\JWTEntryPoint" public="false">
            <deprecated package="lexik/jwt-authentication-bundle" version="2.0">The "%service_id%" service is deprecated since LexikJWTAuthenticationBundle version 2.0 and will be removed in 3.0</deprecated>
        </service>
        <service id="Lexik\Bundle\JWTAuthenticationBundle\Services\JWTTokenInterface" alias="lexik_jwt_authentication.jwt_manager" />

        <service id="lexik_jwt_authentication.key_loader.openssl" class="Lexik\Bundle\JWTAuthenticationBundle\Services\KeyLoader\OpenSSLKeyLoader" parent="lexik_jwt_authentication.key_loader.abstract">
            <deprecated package="lexik/jwt-authentication-bundle" version="2.5">The "%service_id%" service is deprecated since version 2.5 and will be removed in 3.0. Use lexik_jwt_authentication.key_loader.raw instead.</deprecated>
        </service>

        <service id="lexik_jwt_authentication.jws_provider.default" class="Lexik\Bundle\JWTAuthenticationBundle\Services\JWSProvider\DefaultJWSProvider" public="false">
            <deprecated package="lexik/jwt-authentication-bundle" version="2.5">The "%service_id%" is deprecated since version 2.5 and will be removed in 5.0, use "lexik_jwt_authentication.jws_provider.lcobucci" instead.</deprecated>
            <argument type="service" id="lexik_jwt_authentication.key_loader"/>
            <argument>%lexik_jwt_authentication.encoder.crypto_engine%</argument>
            <argument>%lexik_jwt_authentication.encoder.signature_algorithm%</argument>
            <argument>%lexik_jwt_authentication.token_ttl%</argument>
            <argument>%lexik_jwt_authentication.clock_skew%</argument>
        </service>
    </services>

</container>
