2016-09-02 7 views
1

Я новичок в Hapijs, и у меня возникли проблемы с моей конфигурацией маршрута.Не удается установить режим try в hapijs route и haps-auth-cookie

Ошибка:

[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' 
}; 

Stragety

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

Im используя счастливым-AUTH-печенье и колокольчик. У меня также есть больше стратегий, таких как github, twitter ... Если я настрою auth на просто сеанс, он работает. auth: 'session'

ответ

0

Получил его работу. Я должен был обеспечить режим моей stragety так:

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

я также должен был удалить RedirectTo свойства. Настройка режима на уровне стратегии обеспечила функциональность, которую я искал. В принципе, мне нужно было проверить, был ли пользователь зарегистрирован на каждом маршруте, поскольку мое меню навигации изменится в зависимости от результата. Задайте конфигурацию авторизации маршрута «сеанс» для маршрута, доступ к которому возможен только при входе в систему.

Обращайтесь к: server.auth.stragety.