如何在 http 基本身份验证后重定向到相同 url
How to redirect after http basic auth to same url
每当我点击 url 时,我都能弹出用户名和密码,但我能够验证数据库中存在的详细信息,但不会将其重定向到同一个处理程序。它卡在 else 循环中。 如何做到这一点? 在验证登录人员是否具有正确的范围后,它将为您提供响应数据。
我的Server.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 });
});
这是正确的做法。
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
});
});
每当我点击 url 时,我都能弹出用户名和密码,但我能够验证数据库中存在的详细信息,但不会将其重定向到同一个处理程序。它卡在 else 循环中。 如何做到这一点? 在验证登录人员是否具有正确的范围后,它将为您提供响应数据。
我的Server.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 });
});
这是正确的做法。
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
});
});