2016-11-09 158 views
1

我使用bell和另一個使用hapi-auth-cookie創建了一個auth策略。但是,當我嘗試設置會話request.auth.session未定義。有人能幫我弄清楚我哪裏出錯了嗎?爲什麼request.auth.session未定義?

我的路線:

module.exports = [ 
    { 
    method: 'GET', 
    path: '/create-an-account', 
    config: { 
     auth: { 
     strategy: 'auth0', 
     mode: 'try' 
     } 
    }, 
    handler: function(request, reply) { 
     var credentials = request.auth.credentials; 
     request.auth.session.set(credentials); 
     return reply.view('create-an-account'); 
    } 
    } 
] 

我的身份驗證策略:

exports.register = function (server, options, next) { 
    server.register([Bell, Cookie], function (err) { 

    server.auth.strategy('auth0', 'bell', { 
     provider: 'auth0', 
     config: { 
      domain: process.env.AUTH0_CLIENT_DOMAIN, 
     }, 
     password: 'cookie_encryption_password_secure', 
     clientId: process.env.AUTH0_CLIENT_ID, 
     clientSecret: process.env.AUTH0_CLIENT_SECRET, 
     isSecure: false  // For developing locally 
    }); 

    server.auth.strategy('session', 'cookie', { 
     password: 'cookie_encryption_password_secure', 
     cookie: 'sid', 
     redirectTo: '/create-an-account', 
     redirectOnTry: false, 
     isSecure: false 
    }); 
    }); 
    return next(); 
}; 

回答

1

我們有這個問題,前一陣我們的項目之一。哈皮認證 - 餅乾已經改變了他們的文件,使他們不再使用如果把上面一行request.cookieAuth.set(),而不是它應該工作request.auth.session.set(credentials);

這裏有一個link to the commit

。網上的很多例子似乎都使用了我們第一次錯過的舊例子。

這也是在另一個SO拿起答案here>request.auth.session.set(user_info) not working HapiJS