无效的寄存器选项“值”必须是一个对象 hapi-auth-jwt2

Posted

技术标签:

【中文标题】无效的寄存器选项“值”必须是一个对象 hapi-auth-jwt2【英文标题】:Invalid register options "value" must be an object hapi-auth-jwt2 【发布时间】:2018-05-30 01:51:07 【问题描述】:

每当我尝试运行我的 hapi 服务器时,我都会收到一个奇怪的错误 Invalid register options "value" must be an object。我似乎无法弄清楚这个问题。这是我的代码:

await server.register(require('hapi-auth-jwt2'), (err) => 
            if (err) console.log(err);

            server.auth.strategy('jwt', 'jwt', 
                key: secretKey,
                verifyOptions:  algorithms: ['HS256'] 
            );

            glob.sync('api/**/routes/*.js', 
                root: __dirname
            ).forEach(file => 
                const route = require(path.join(__dirname, file));
                server.route(route);
            );
        ).catch(err => 
            console.log(err);
        );

我也试过这个,但我仍然收到错误:

const options = 
            key: secretKey,
            verifyOptions:  algorithms: ['HS256'] 
        ;

await server.register(
            register: require('hapi-auth-jwt2'),
            options
        , (err) => 
            if (err) console.log(err);
            // We're giving the strategy both a name
            // and scheme of 'jwt'
            server.auth.strategy('jwt', 'jwt', 
                key: secretKey,
                verifyOptions:  algorithms: ['HS256'] 
            );

            glob.sync('api/**/routes/*.js', 
                root: __dirname
            ).forEach(file => 
                const route = require(path.join(__dirname, file));
                server.route(route);
            );
        ).catch(err => 
            console.log(err);
        );

有人知道这个错误是关于什么的吗?只是hapi-auth-jwt2 不是最新的 Hapi v17 吗?如果是这样,我尝试将我的依赖版本更改为salzhrani/hapi-auth-jwt2#v-17,如https://github.com/dwyl/hapi-auth-jwt2/pull/249 中所述

我还尝试了https://github.com/dwyl/hapi-auth-jwt2/issues/248 中的临时修复,但没有成功。

【问题讨论】:

你能解决这个问题吗? 【参考方案1】:

您似乎没有为 validateFunc 选项提供函数。

【讨论】:

以上是关于无效的寄存器选项“值”必须是一个对象 hapi-auth-jwt2的主要内容,如果未能解决你的问题,请参考以下文章

DataGridViewComboBoxColumn值无效解决方法

使用 jQuery 选项卡的谷歌浏览器“无效的表单控件不可聚焦”

SSE 的整数/浮点值

为标识符 (CELLNAME) 注册的 nib 无效 - nib 必须恰好包含一个***对象,该对象必须是 UITableViewCell 实例

easyui中combobox 验证输入的值必须为选项框中的数据

在内部选项卡之前加载的选项卡会导致错误“提供给选项卡组件的值无效”