Последовательное получение 404 Bad Request при аутентификации пользователей на сервере LDAP с использованием пакетов passport и passport-ldapauth - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь аутентифицировать пользователей в моем приложении node.js, используя стратегию LDAP на серверах LDAP, для которых у меня есть все необходимые учетные данные. Тем не менее, я не могу получить никакого ответа, кроме Bad Request (400).

Я прочитал все другие подобные сообщения Stackoverflow, в которых указано, что usernameField или passwordField могут отсутствовать, что не должно быть проблемой в моем случае, так как я уже пытался отправить имя пользователя и пароль через объект параметров, как указанов документации пакета паспорт-ldapauth. Я также пытался отправить имя пользователя и пароль через тело запроса API, но безрезультатно. Я также использовал body-parser. После всех этих попыток я все равно получаю ответ как Bad Request и ничего больше.

var express = require('express');
var passport = require('passport');
var flash = require('connect-flash');
var LdapStrategy = require('passport-ldapauth');
var session = require('express-session');

var OPTS = {
  server: {
    url: '192.***.***.**',
    bindDN: 'cn=ldap,cn=Users, ...',
    bindCredentials: '<bind_password>',
    searchBase: 'cn=Users, ...',
    searchFilter: '(sAMAccountName={{username}})'
  },
  usernameField: '<username>',
  passwordField: '<password>'
};

const router = express.Router();
passport.use(new LdapStrategy(OPTS));

router.use(session({ cookie: { httpOnly: true, maxAge: 60000 }, 
  secret: 'woot',
  resave: false, 
  saveUninitialized: true}));
router.use(passport.initialize());
router.use(flash());
router.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});


router.post('/', passport.authenticate('ldapauth', {session: true, failureFlash: true}), function(req, res) {
  console.log("!!!!!!!!!!!!!");

  res.send({status: 'ok'});
});

module.exports = router;

В ожидаемом ответе должны были отсутствовать учетные данные или какая-либо другая ошибка, но единственным постоянным ответом, который я получаю, является Bad Request. Пожалуйста, помогите мне, чем сможете. Заранее спасибо.

...