gpt4 book ai didi

javascript - Hapi.js 身份验证不工作

转载 作者:可可西里 更新时间:2023-11-01 10:41:04 28 4
gpt4 key购买 nike

现在这是我的代码,这里的问题是当我使用 hapi 版本 14.x.x 或更低版本运行它时,它对我来说非常好,但是当我使用 hapi 版本 15.0.1 或更高版本运行它时,它会出现以下错误.

认证过程有什么变化吗?

throw new Error(msgs.join(' ') || 'Unknown error');
^

Error: Unknown authentication strategy UserAuth in /api/user/loginDetails
at Object.exports.unique.exports.contain.exports.reachTemplate.exports.assert.condition [as assert] (F:\cbl\projects\lawn-mower\node_modules\hapi\node_modules\hoek\lib\index.js:736
:11)
at internals.Auth.test.internals.Auth._setupRoute (F:\cbl\projects\lawn-mower\node_modules\hapi\lib\auth.js:144:14)

我正在使用的示例路线

  {
method: 'POST',
path: '/api/user/loginDetails',
config: {
auth: 'UserAuth',
handler: function (request, reply) {
},
validate: {
payload: {

},
headers: UniversalFunctions.authorizationHeaderObj,
failAction: UniversalFunctions.failActionFunction
},
plugins: {
'hapi-swagger': {
payloadType : 'form',
responses:Config.APP_CONSTANTS.swaggerDefaultResponseMessages
}
}
}
}

我正在使用的策略

server.register(require('hapi-auth-bearer-token'), function (err) {
console.log("aaaaa");
server.auth.strategy('UserAuth', 'bearer-access-token', {
allowQueryToken: false,
allowMultipleHeaders: true,
accessTokenName: 'accessToken',
validateFunc: function (token, callback) {

}
});
});

最佳答案

发生此错误是因为您要注册一个需要 hapi 服务器尚不可用的身份验证策略的路由。

确保在将路由添加到服务器之前注册了 UserAuth 策略。

This tutorial proposes 2 solutions

  1. 一个专用的身份验证插件,它被您的其他 hapi 插件用作依赖项,因此在添加路由之前可用
  2. 将要添加路由的部分移到插件注册回调和策略定义之后

希望对您有所帮助!

关于javascript - Hapi.js 身份验证不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43158808/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com