如何在http basic auth之后重定向到相同的url

时间:2016-04-18 07:50:10

标签: hapijs http-authentication

每当我点击网址时,我都可以弹出用户名和密码,但我可以使用数据库中存在的详细信息验证详细信息,但不能将其重定向到同一个处理程序。它正陷入其他循环中。 如何做?在验证登录人员是否具有正确的范围后,它会为您提供响应数据。

我的服务器.js -

const simple_validate = function (request, reply, next) {
var credentials = auth(request);
if (!credentials || credentials.name !== 'john' || credentials.pass !== 'secret') {
    reply('Not authorized').code(401);
    reply().header('WWW-Authenticate', 'Basic realm="example"').hold();
    reply('success');
} else {
    next();
    reply('Access granted');
}
}
server.register(Basic, (err) => {
server.auth.strategy('simple', 'basic', { validateFunc: simple_validate });

});

1 个答案:

答案 0 :(得分:0)

这是正确的做法。

const validate = function (request, email, password, callback) {
    // validate your email and password here 
    User.findUser(email,password,function(err,result){
        if(err)
            callback(null,false);
        else
            //do whatever you wanna do
    });
}

server.register(require('hapi-auth-basic'), (err) => {
       server.auth.strategy('simple', 'basic', { 
              validateFunc: validateApi
       });
});