request.auth.session.set(user_info) не работает HapiJS

Это моя стратегия, которая определена в server.register(). Я основываю свою работу на учебнике, и он буквально скопирован из него, но это не работает.

    server.auth.strategy('standard', 'cookie', {
        password: 'somecrazycookiesecretthatcantbeguesseswouldgohere', // cookie secret
        cookie: 'app-cookie', // Cookie name
        isSecure: false, // required for non-https applications
        redirectTo: '/login',
        ttl: 24 * 60 * 60 * 1000 // Set session to 1 day
    });

    server.auth.default({
        strategy: 'standard',
        mode: 'required',
        scope: ['admin']
    });

Это мой маршрут входа, где возникает ошибка:

server.route({
    method: 'POST',
    path: '/login',
    config: {
        auth: false,
        validate: {
            payload: {
                email: Joi.string().email().required(),
                password: Joi.string().min(2).max(200).required()
            }
        },
        handler: function (request, reply) {

            getValidatedUser(request.payload.email, request.payload.password)
                    .then(function (user) {

                        if (user) {
                            //ERROR OCCURS HERE: IT SAYS SESSION IS UNDEFINED
                            request.auth.session.set(user);
                            return reply('Login Successful!');
                        } else {
                            return reply(Boom.unauthorized('Bad email or password'));
                        }

                    });
//                        .catch(function (err) {
//                            return reply(Boom.badImplementation());
//                        });

        }
    }
});

Я пробовал так много вещей, но эта часть имеет решающее значение для этой работы, и я не могу найти никого с такой же проблемой. Помогите, пожалуйста!


person Forget    schedule 21.03.2016    source источник
comment
Не работает - недостаточно информации для людей, чтобы помочь вам. Что случилось, чего вы ожидали? Вы видели сообщения об ошибках? Что они сказали?   -  person Matt Harrison    schedule 21.03.2016
comment
Это решено, это больше не работает, проверьте ответ @mcmo   -  person Forget    schedule 21.03.2016


Ответы (1)


hapi-auth-cookie изменил способ установки и очистки файлов cookie. Начиная с версии 5.0.0, используйте request.cookieAuth.set() и request.cookieAuth.clear(). Вероятно, вы используете более новую версию плагина, чем та, что используется в package.json руководства.

источник: https://github.com/hapijs/hapi-auth-cookie/commit/d233b2a3e4d0f03ef53b91b7929b8dbadbff624c

person mcmo    schedule 21.03.2016
comment
Да, я потом проверил их документы, и вот как я решил эту проблему! В любом случае спасибо, это ответ, поэтому я отмечу его как таковой! - person Forget; 21.03.2016