Feathers authentication.create выдает ошибку 401, не прошедшую проверку подлинности

// код

app.use('/login', {
  async create(data, params) {
    data.strategy = 'local';
    return authentication.create(data, params);
  }
});

// конфигурация

"local": {
  "usernameField": "username",
  "passwordField": "password"
}

Я использую метод authentication.create в своем API входа в систему, я получаю этот ответ об ошибке, когда пытаюсь войти

{
  "name": "NotAuthenticated",
  "message": "Invalid login",
  "code": 401,
  "className": "not-authenticated",
  "errors": {}
}

// запрос

curl --location --request POST 'http://localhost:3030/login'
--header 'Content-Type: application/json'
--data-raw '{
"username": "uname",
"password": "123456"
}'

Имя пользователя и пароль верны, это работает на моем локальном компьютере (macOS), ошибка возникает только при запуске в тестовой среде (ubuntu 20 в AWS EC2). они оба указывают на одну и ту же базу данных (mySQL 5) внутри экземпляра AWS EC2. что вызывает проблему?


person Alfred Ignatius    schedule 22.03.2021    source источник


Ответы (1)


Упоминается в параметрах конфигурации аутентификации в Windows и в PM2 в поле username. необходимо экранировать, так как это также переменная среды:

"local": {
  "usernameField": "\\username",
  "passwordField": "password"
}

В предстоящей версии 5 в этом больше не будет необходимости.

person Daff    schedule 23.03.2021