http-auth 使用 express js 进行摘要
http-auth digest using express js
我正在用 Express JS 开发 API。我想使用 http-auth library 并且我一直在尝试使用摘要式身份验证,但我一直无法使用它。这是我的代码:
var app = require('express')(),
routes = require('./routes'),
bodyParser = require('body-parser'),
auth = require('http-auth');
app.use(bodyParser.json()); // Soporta json encoded bodies
app.use(bodyParser.urlencoded({ // Soporta encoded bodies
extended: true
}));
var digest = auth.digest({
realm: 'prueba',
file: __dirname + "/usr.pass"
});
app.use(auth.connect(digest));
// Conectamos todas nuestras rutas
app.use('/', routes);
// Levantamos servidor
app.listen(9999, () => {
Console.log('running');
});
我的 usr.pass
文件有这一行:jdurini:prueba:88bfcf02e7f554f9e9ea350b699bc6a7
(密码是“2315”的 MD5 表示)。
我正在使用 POSTMAN 呼叫我的端点。在这种情况下,我在 localhost:9999
上尝试 POST 方法,每次我尝试时,它都会转到 digest.on('fail') 事件。
在授权选项卡中,我use this data。
我做错了什么?这是我第一次使用 Express,所以任何评论都会有所帮助。
编辑 1 - 8 月 14 日
postman中的授权header如下:Digest username="jdurini", realm="prueba", nonce="", uri="/", response="2c01bce3e1980c575fc82e32f9943617", opaque=""
。此 header 是在我填写授权表时自动生成的:
- 类型:摘要验证
- 用户名: jdurini
- 领域:普鲁巴
- 密码: 2315
请求中未使用其他 header。
原因
您的身份验证文件似乎有问题。
解决方案
我刚刚使用 htdigest:
重新生成了身份验证行
htdigest usr.pass prueba jdurini
得到了这样的东西:
jdurini:prueba:546bb2109e9d875fb486bf90a55fdbd6
新版本适合我。
通知
我想您可能想将 Console.log('running')
行更改为小写,因为您的版本不适合我。
我正在用 Express JS 开发 API。我想使用 http-auth library 并且我一直在尝试使用摘要式身份验证,但我一直无法使用它。这是我的代码:
var app = require('express')(),
routes = require('./routes'),
bodyParser = require('body-parser'),
auth = require('http-auth');
app.use(bodyParser.json()); // Soporta json encoded bodies
app.use(bodyParser.urlencoded({ // Soporta encoded bodies
extended: true
}));
var digest = auth.digest({
realm: 'prueba',
file: __dirname + "/usr.pass"
});
app.use(auth.connect(digest));
// Conectamos todas nuestras rutas
app.use('/', routes);
// Levantamos servidor
app.listen(9999, () => {
Console.log('running');
});
我的 usr.pass
文件有这一行:jdurini:prueba:88bfcf02e7f554f9e9ea350b699bc6a7
(密码是“2315”的 MD5 表示)。
我正在使用 POSTMAN 呼叫我的端点。在这种情况下,我在 localhost:9999
上尝试 POST 方法,每次我尝试时,它都会转到 digest.on('fail') 事件。
在授权选项卡中,我use this data。
我做错了什么?这是我第一次使用 Express,所以任何评论都会有所帮助。
编辑 1 - 8 月 14 日
postman中的授权header如下:Digest username="jdurini", realm="prueba", nonce="", uri="/", response="2c01bce3e1980c575fc82e32f9943617", opaque=""
。此 header 是在我填写授权表时自动生成的:
- 类型:摘要验证
- 用户名: jdurini
- 领域:普鲁巴
- 密码: 2315
请求中未使用其他 header。
原因
您的身份验证文件似乎有问题。
解决方案
我刚刚使用 htdigest:
重新生成了身份验证行htdigest usr.pass prueba jdurini
得到了这样的东西:
jdurini:prueba:546bb2109e9d875fb486bf90a55fdbd6
新版本适合我。
通知
我想您可能想将 Console.log('running')
行更改为小写,因为您的版本不适合我。