Express REST API在公共访问页面上进行了身份验证

时间:2016-01-08 03:04:25

标签: node.js express basic-authentication

我知道如果我想确保只能通过正确的用户名和密码访问我的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);

0 个答案:

没有答案