在nodejs上使用express获取用户名basic auth

时间:2018-08-05 23:30:08

标签: node.js express basic-authentication

我正在尝试使用受限访问来运行快速服务器(我只需要一个非常简单的限制,而无需强大的限制)。用户登录后,我希望能够检索其用户名。

这是我的代码

Server.js

const auth = require('./auth');
app.use(auth);

app.set('view engine', 'ejs');

app.get('/', (req, res) => {
res.render('index');});
//here I want to be able to retrieve the username and do stuff with the username for example log his name
console.log('user: ' + username + 'has logged in'); 
// rest of my code...

这是我的auth.js文件

const auth = require('basic-auth');

const admins = { 'username': { password: 'password' },
                'username2': { password: 'password2' }};
var userr;
module.exports = function (request, response, next) {
  var user = auth(request);
  //userr = user;
  if (!user || !admins[user.name] || admins[user.name].password !== user.pass) {
    response.set('WWW-Authenticate', 'Basic realm="example"');
    return response.status(401).send();

  }
  userr = user.name;
  return next();

};

我想获取登录的用户名并在server.js中对其进行操作,我尝试了多种方法来导出名称,但没有一种有效。

如果有人能帮助我实现这一目标,我会非常感谢。

0 个答案:

没有答案