Я разрабатываю API в Express JS. Я хочу использовать https://github.com/http-auth/http-auth и пытаюсь использовать дайджест-аутентификацию , но я не смог его использовать. Вот мой код:
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
(пароль - это представление MD5 por '2315').
Я использую POSTMAN для вызова своих конечных точек. В этом случае я пробую метод POST для localhost:9999
, и каждый раз, когда я пытаюсь, он переходит к событию дайджеста.on('fail').
На вкладке Авторизация я использую эти данные.
Что я делаю не так? Я впервые использую Express, поэтому любой комментарий может быть полезен.
Редактировать 1 - 14 августа
Заголовок авторизации в postman выглядит следующим образом:Digest username="jdurini", realm="prueba", nonce="", uri="/", response="2c01bce3e1980c575fc82e32f9943617", opaque=""
. Этот заголовок генерируется автоматически, когда я заполняю форму авторизации:
- тип: Дайджест-аутентификация
- имя пользователя: jdurini
- Область: пруэба
- Пароль: 2315
Никакие другие заголовки в запросе не используются.