security:
    enable_authenticator_manager: true
    # ...
    
    encoders:
        # use your user class name here
        App\Entity\User:
            # Use native password encoder
            # This value auto-selects the best possible hashing algorithm
            # (i.e. Sodium when available).
            algorithm: auto

    providers:
        # used to reload user from session & other features (e.g. switch_user)
        app_user_provider:
            entity:
                class: App\Entity\User
                property: email
                
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false

        login:
            pattern: ^/api/login
            stateless: true
            json_login:
                check_path: /api/login_check
                success_handler: lexik_jwt_authentication.handler.authentication_success
                failure_handler: lexik_jwt_authentication.handler.authentication_failure

        api:
            pattern:   ^/api
            stateless: true
            guard: 
                authenticators:
                    - lexik_jwt_authentication.jwt_token_authenticator
        
    access_control:
       # - { path: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
       # - { path: ^/api,       roles: IS_AUTHENTICATED_FULLY }