Symfony 5 Недопустимый брандмауэр «api»: поставщик пользователя «app_user_provider» не найден

#symfony

#symfony

Вопрос:

Когда я добавляю новый брандмауэр для проверки подлинности api, я получаю этот сбой:

Недопустимый брандмауэр «api»: поставщик пользователя «app_user_provider» не найден.

как я могу исправить эту ошибку?

 security:
    encoders:
        AppEntityUser:
            algorithm: bcrypt
            cost: 4
    
    # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
    providers:
        in_memory: { memory: ~ }
        proveedor:
            entity:
                class: AppEntityUser
                property: email
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
            anonymous: true
            form_login:
                login_path: login
                check_path: login
                provider: proveedor
                default_target_path: tasks
                
            logout:
                path: /logout
                target: /
        api:
            pattern: ^/api
            anonymous: lazy
            provider: app_user_provider
            guard:
                authenticators:
                    - AppSecurityTokenAuthenticator

 

Ответ №1:

В вашем брандмауэре с именем «api» вы указываете «app_user_provider», но в нем его нет в списке поставщиков.

В списке поставщиков у вас есть: in_memory и proviedor.

Попробуйте заменить app_user_provider на proviedor. Если поставщик позволит вам получить вашего пользователя, он должен работать.