我知道如果我想确保只能通过正确的用户名和密码访问我的api,我可以依赖basic-Auth。
怎么说我有一个公共访问页面(不需要用户名和密码),我的api只在托管公共访问页面的服务器上打开。没人能够访问它。
这是正确的方法吗?
我目前的代码甚至要求服务器指定用户名和密码的标题。
var basicAuth = require('basic-auth');
var auth = function(req, res, next) {
var user = basicAuth(req);
if (!user || !user.name || !user.pass) {
res.set('WWW-Authenticate', 'Basic realm=Authorization Required');
res.sendStatus(401);
return;
}
if (user.name === 'user1' && user.pass === 'pass123') {
next();
} else {
res.set('WWW-Authenticate', 'Basic realm=Authorization Required');
res.sendStatus(401);
return;
}
}
//Express call
app.get('/getCompany', auth, company.test);