0

我正在尝试使用@feathersjs/authentication-local 对用户进行身份验证,虽然我提供了正确的用户名和密码,但我得到了以下响应

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

user实体的DB 属性是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"了请求正文。我错过了什么?请帮忙。

4

2 回答 2

0

Missing Credential feathersjs authentication-local,出现此错误可能是由于以下原因:

  1. 发送请求时缺少字段。通常,如果存在任何数据,则会引发错误,如 NotAuthenticated: Invalid login if the credentials are not correct。

  2. 转义 default.json 中的字段以避免引用系统环境变量。参考这个

于 2018-07-10T11:38:39.057 回答
0

这通常发生在没有注册 Express bodyParser中间件时。如羽毛聊天所示,它必须在身份验证之前设置

于 2018-04-29T18:29:09.173 回答