{code: 401, сообщение: запрос аутентификации не может быть обработан из-за системной проблемы.} - Symfony 5.0 - lexik / jwt-authentication-bundle

Я использую Synfony 5.0 и «lexik / jwt-authentication-bundle»: «^ 2.6».

отображает следующее сообщение: {"code": 401, "message": "Запрос на аутентификацию не может быть обработан из-за системной проблемы."}

Эта ошибка возникает только с postgres. Когда я переключаюсь на mysql, он работает. Как я могу это решить?

Ниже мой security.yaml:

security:
  encoders:        
    App\Entity\User:
        algorithm: bcrypt

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

    login:
        pattern:  ^/api/login
        stateless: true
        anonymous: 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 

    main:
        anonymous: lazy
        provider: app_user_provider       


  # Easy way to control access for large sections of your site
  # Note: Only the *first* access control that matches will be used
  access_control:
    - { path: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY  }
    - { path: ^/api, roles: IS_AUTHENTICATED_FULLY  }`

в журнале:

30 марта 10:19:51 | ПРЕДУПРЕЖДЕНИЕ | ЗАПИСЬ СЕРВЕРА (401) / api / login_check host = "127.0.0.1:8004" ip = "127.0.0.1" scheme = "https" [2020-03-30T10: 19: 51.769724-03: 00] request.INFO: Соответствует маршрут "api_login_check". {"route": "api_login_check", "route_parameters": {"_ route": "api_login_check"}, "request_uri": "http://127.0.0.1:8000/api/login_check", "method": "POST"} [] [2020-03-30T10: 19: 51.888870-03: 00] безопасность. ИНФОРМАЦИЯ: запрос аутентификации не удался. {"исключение": "[объект] (Symfony \ Component \ Security \ Core \ Exception \ AuthenticationServiceException (код: 0): исключение произошло при выполнении 'SELECT t0.id AS id_1, t0.username AS имя пользователя_2, t0.roles AS роли_3, t0.password AS пароль_4 ОТ пользователя t0 ГДЕ t0.username =? LIMIT 1 'с параметрами ["my_username"]: \ n \ nSQLSTATE [42703]: неопределенный столбец: 7 ОШИБКА: столбец t0.id не существует \ nLINE 1: ВЫБРАТЬ t0.id AS id_1, t0.username AS username_2, t0.roles AS ... \ n ^ в C: \ Projetos \ Projetos \ mp \ vendor \ symfony \ security-core \ Authentication \ Provider \ DaoAuthenticationProvider.php : 96) \ n [предыдущее исключение] [объект] (Doctrine \ DBAL \ Exception \ InvalidFieldNameException (код: 0): исключение произошло при выполнении 'SELECT t0.id AS id_1, t0.username AS username_2, t0.roles AS roles_3 , t0.password AS пароль_4 ОТ пользователя t0 ГДЕ t0.username =? LIMIT 1 'с параметрами ["wagner"]: \ n \ nSQLSTATE [42703]: неопределенный столбец: 7 ОШИБКА: столбец t0.id не существует \ nLINE 1 : ВЫБЕРИТЕ t0.id КАК id_1, t0.username КАК использовать rname_2, t0.roles AS ... \ n ^ в C: \ Projetos \ Projetos \ mp \ vendor \ doctrine \ dbal \ lib \ Doctrine \ DBAL \ Driver \ AbstractPostgreSQLDriver.php: 60) \ n [предыдущее исключение] [объект ] (Doctrine \ DBAL \ Driver \ PDOException (код: 42703): SQLSTATE [42703]: неопределенный столбец: 7 ОШИБКА: столбец t0.id не существует \ nLINE 1: SELECT t0.id AS id_1, t0.username AS username_2, t0.roles AS ... \ n ^ в C: \ Projetos \ Projetos \ mp \ vendor \ doctrine \ dbal \ lib \ Doctrine \ DBAL \ Driver \ PDOStatement.php: 123) \ n [предыдущее исключение] [объект] ( PDOException (код: 42703): SQLSTATE [42703]: неопределенный столбец: 7 ОШИБКА: столбец t0.id не существует \ nLINE 1: SELECT t0.id AS id_1, t0.username AS username_2, t0.roles AS ... \ n ^ в C: \ Projetos \ Projetos \ mp \ vendor \ doctrine \ dbal \ lib \ Doctrine \ DBAL \ Driver \ PDOStatement.php: 121) "} []


person Wagner Freitas    schedule 30.03.2020    source источник
comment
Что вы пытались отладить? Какие части этого сообщения об ошибке неясны?   -  person Nico Haase    schedule 30.03.2020


Ответы (2)


Эта проблема была решена путем изменения имени класса User, потому что в Postgres слово user зарезервировано и есть ошибка в интерпретации запроса.

person Wagner Freitas    schedule 25.06.2020

Вам необходимо изменить имя класса User.

person Naruto Uzumaki    schedule 21.04.2021