hapi-auth-cookie:读取cookie以访问锁定的内容时抛出错误

问题描述 投票:1回答:1

我使用hapi-auth-cookie来保存cookie并创建会话。某些部分已锁定,未经身份验证不允许用户访问它。当用户未登录时,他已成功重定向到登录路由。在用户再次点击同一链接进行身份验证后,它最有可能在处理cookie时抛出错误。这是会话注册:

plugin.auth.strategy('session', 'cookie', {
    password: 'hapissajafdhafdjahyfjkdgsyjasfydukfeyafdheavjdfaejmyfdja',
    cookie: 'sid-cuboid',
    redirectTo: '/',
    isSecure: false,
    validateFunc: function(request, session) {
        var cached = cache.get(session.sid);
        var out = {
            valid: !!cached
        };

        if (out.valid) {
            out.credentials = cached.account;
        }

        return out;
    }
});

这是我的路线:

plugin.route({
        method: 'GET',
        path: '/edit/{courseName}/{testNo}/{plunkId}',
        config: {
            auth: {
                strategy: 'session'

            },
            plugins: {
                'hapi-auth-cookie': {
                    redirectTo: '/'
                }
            }
        },
        handler: function(request, reply) {
            var server = this.config.server;
            var param = request.params;
            var courseName = request.params.courseName;
            var context = {
                "url": {
                    "run": ""
                }
            };

            reply.view("editor", context);

        }

    });

这是我得到的错误:

Debug: internal, implementation, error 
    TypeError: Uncaught error: Cannot read property 'apply' of undefined
    at bound (domain.js:280:13)
    at runBound (domain.js:293:12)
    at /home/satnam-sandhu/Workstation/cuboid.io/node_modules/glue/node_modules/hoek/lib/index.js:858:22
    at doNTCallback0 (node.js:419:9)
    at process._tickDomainCallback (node.js:389:13)

注意:我使用的是[email protected][email protected]

javascript node.js cookies session-cookies hapijs
1个回答
1
投票

通过删除validateFunc解决了上述问题。错误的原因仍然未知。

© www.soinside.com 2019 - 2024. All rights reserved.