将基本身份验证添加到node.js+;快车没有效果
我补充了以下内容将基本身份验证添加到node.js+;快车没有效果,node.js,express,basic-authentication,Node.js,Express,Basic Authentication,我补充了以下内容 var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var fs = require("fs"
var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var fs = require("fs");
var index = require('./routes/index');
var users = require('./routes/users');
var app = express();
var basicAuth = require('express-basic-auth');
app.use(basicAuth({
users: { 'worker': '????????' }
}));
到我的app.js
。根据我放置此代码的位置,该站点要么完全停止工作(显示空白),要么在没有任何身份验证的情况下工作
哪个是放置此代码的正确位置
当出现空白时,可以在Chrome开发者工具中看到
Failed to load resource: the server responded with a status of 401 (Unauthorized)
但没有出现登录弹出窗口
我正在WebStorm下的localhost
上运行我的站点。可能没有弹出窗口是localhost
上的默认浏览器行为?Firefox也使用了相同的,我使用以下代码(在app.js中,或者如果您只想在某些路由上使用此代码,那么只在这些路由之前使用):
对于,我使用以下代码(在app.js中,或者如果您只想在某些路由上使用此代码,则仅在这些路由之前使用):
通过使用express basic auth模块,中间件的默认配置不会向未授权请求的响应添加
WWW-Authenticate
质询头。您必须通过将challenge:true
添加到选项对象来启用它,如下所示:
app.use(basicAuth({
users: { 'worker': '????????' },
challenge: true
}));
这段代码将允许大多数浏览器显示一个弹出窗口,在未经授权的响应中输入用户名/密码。通过使用express basic auth模块,中间件的默认配置不会向未经授权请求的响应添加
WWW-Authenticate
质询头。您必须通过将challenge:true
添加到选项对象来启用它,如下所示:
app.use(basicAuth({
users: { 'worker': '????????' },
challenge: true
}));
这段代码允许大多数浏览器显示一个弹出窗口,在未经授权的响应中输入用户名/密码