hapi-auth-jwt2:为错误响应添加自定义属性

时间:2017-01-22 09:32:24

标签: hapijs

在hapi-auth-jw2中,可以在错误响应中添加属性,例如当令牌无效时。因为我需要在响应中添加code属性,但是当我尝试向errorFunc中的错误添加属性时,它没有添加属性。

errorFunc: (err) => {
   err.code = 'token-invalid';
   return err;
}

1 个答案:

答案 0 :(得分:3)

我不认为可以将属性code直接添加到响应对象,因为库调用Boom来返回错误。

但是由于无效令牌可能会导致401 Unauthorized,因此您可以根据optional parameters扩展回调err,以包含您想要的任何自定义属性。请查看Boom关于此回复的文档,以获取更多信息,here

errorFunc: (err) => 
{
    err.message = 'foo bar'; // optional
    err.schema = 'error';
    err.attributes = {code: 'token-invalid'};

    return err;
}

这会产生类似

的响应
"payload": {
    "statusCode": 401,
        "error": "Unauthorized",
        "message": "foo bar",
        "attributes": {
            "error": "foo bar",
            "code": 'invalid-token' // <---- your custom value
        }
},
"headers" {
    "WWW-Authenticate": "error code=\"token-invalid\", error=\"foo bar\""
}