security: role_hierarchy: ROLE_ADMIN: [ROLE_USER] password_hashers: Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: 'auto' providers: app_user_provider: entity: class: App\Module\Core\Domain\Entity\User property: username firewalls: dev: pattern: ^/(_profiler|_wdt|assets|build)/ security: false login: pattern: ^/login_check stateless: true provider: app_user_provider login_throttling: max_attempts: 5 interval: '1 minute' json_login: check_path: /login_check username_path: username password_path: password success_handler: lexik_jwt_authentication.handler.authentication_success failure_handler: lexik_jwt_authentication.handler.authentication_failure api: pattern: ^/api stateless: true provider: app_user_provider jwt: ~ logout: path: /api/logout target: /login enable_csrf: false delete_cookies: BEARER: path: / access_control: - { path: ^/login_check, roles: PUBLIC_ACCESS } - { path: ^/api/docs, roles: PUBLIC_ACCESS } - { path: ^/api/version, roles: PUBLIC_ACCESS, methods: [ GET ] } - { path: ^/api/modules, roles: PUBLIC_ACCESS, methods: [ GET ] } - { path: ^/api/sidebar, roles: PUBLIC_ACCESS, methods: [ GET ] } - { path: ^/api, roles: IS_AUTHENTICATED_FULLY } when@test: security: password_hashers: Symfony\Component\Security\Core\User\PasswordAuthenticatedUserInterface: algorithm: auto cost: 4 time_cost: 3 memory_cost: 10