无法设置模式尝试在hapijs路由和haps-auth-cookie

时间:2016-09-02 13:02:21

标签: hapijs

我是Hapijs的新手,我的路由身份验证配置存在一些问题。

错误:

[1] "auth" must be a string
[2] "strageties" is not allowed

路线

exports.register = (server, options, next) => {

    server.route({
        method: 'GET',
        path: '/',
        config: {
            auth: {
                mode: 'try',
                strageties: ['session'] // or strategy: 'session'
            },
            handler: (request, reply) => {
                return reply.view('partials/index');
            }
        }
    });

    return next();
};

exports.register.attributes = {
    name: 'routes-home'
};

战略前导

    server.auth.strategy(Providers.Session, 'cookie', {
        password: config.server.SECRET,
        redirectTo: '/login',
        isSecure: false
    });

我正在使用happy-auth-cookie和bell。我也有更多的策略,如github,twitter ......如果我将auth设置为只是会话它工作。 身份验证:'会话'

1 个答案:

答案 0 :(得分:0)

搞定了。我不得不像我这样提供模式:

server.auth.strategy(Providers.Session, 'cookie', 'try', { //<= 'try'
    password: config.server.SECRET,
    isSecure: false
});

我还必须删除 redirectTo 属性。 在策略级别设置模式提供了我正在寻找的功能。基本上,我需要检查用户是否在每条路线中登录,因为我的导航菜单会根据结果而改变。将路由身份验证配置设置为&#39; session&#39;对于只能由登录用户访问的路由。

请参阅:server.auth.stragety