1

我在使用http-auth模块创建基于 express 的 node.js 应用程序时遇到问题。

这是一个可能为这个http-auth库创建的中间件我有这个代码:

    //Configure Middlewares
logger.configure(function() {

  //All output has content type json
  logger.use(function(req, res, next) {
    res.contentType('application/json');
    next();
  });

  //Create digest auth middleware
  logger.use(function(req, res, next){
    digest.apply();
    next();
  });
});

应用此功能后,当我连接到站点时,出现此错误:

TypeError: Cannot read property 'headers' of undefined

有没有解决这个问题或使用其他方法?

我需要对整个应用程序进行摘要身份验证。

4

2 回答 2

1

我认为 apply() 期待请求对象(因此它无法读取标题);

试试这个语法:

digest.apply(req, res, function(username) {

});   
于 2013-03-13T12:58:45.793 回答
0

你应该用正确的模式使用它:

// Authentication module.
var auth = require('http-auth');
var digest = auth.digest({
  realm: "Simon Area.",
  file: __dirname + "/../data/users.htdigest"
});

// Configure Middlewares
logger.configure(function() {
  // Create digest auth middleware
  logger.use(auth.connect(digest));

  // All output has content type json.
  logger.use(function(req, res, next) {
    res.contentType('application/json');
    next();
  });    
});
于 2016-04-22T11:11:03.823 回答