400 BadRequest:Missing Credential feathersjs authentication-local

时间:2018-04-29 08:14:57

标签: node.js feathersjs feathers-authentication

我正在尝试使用@ feathersjs / authentication-local对用户进行身份验证,虽然我正在使用正确的用户名&密码,我得到以下回复

{
    "name": "BadRequest",
    "message": "Missing credentials",
    "code": 400,
    "className": "bad-request",
    "data": {
        "message": "Missing credentials"
    },
    "errors": {}
}

user实体的数据库属性为username& password。我的配置如下

const settings = {
    secret: 'super&secret',
    usernameField: 'username',
    passwordField: 'password',
    entityUsernameField: 'username',
    entityPasswordField: 'password'
};

app.configure(authentication(settings))
        .configure(local());

app.service('authentication').hooks({
        before: {
            create: [authentication.hooks.authenticate(['local', 'jwt'])],
            remove: [],
        }
    });

我在请求正文中添加了"strategy": "local"。我错过了什么?请帮忙。

2 个答案:

答案 0 :(得分:0)

当没有注册Express bodyParser中间件时,通常会发生这种情况。如feathers-chat所示,它必须是set up before authentication

答案 1 :(得分:0)

缺少本地身份验证凭据,可能由于以下原因而发生此错误:

  1. 发送请求时,您缺少字段。通常,如果存在任何数据,则会引发NotAuthenticated错误:如果凭据不正确,则登录无效。

  2. default.json中的转义字段,以避免引用系统环境变量。 Refer to this