Я пытаюсь аутентифицировать пользователей в моем приложении 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. Пожалуйста, помогите мне, чем сможете. Заранее спасибо.