Я пытаюсь создать аутентификацию LDAP с помощью библиотеки Ldap Passport и получаю следующую ошибку:
{"message": "Отсутствуют учетные данные"}
Вот код:
const passport = require("passport");
const LdapStrategy = require("passport-ldapauth");
let OPTS = {
server: {
url: "ldap://<xxxx>:389",
bindDN: "dc=xxx-it,dc=com",
searchBase: "ou=people",
searchFilter: "(uid={{username}})"
},
usernameField: "username"
};
passport.use(
new LdapStrategy(OPTS, (user, done) => {
return done(null, user);
})
);
app.post("/api/test", (req, res, next) => {
passport.authenticate("ldapauth", { session: false }, (err, user, info) => {
var error = err || info;
if (error) return res.status(401).json(error);
if (!user)
return res.json(404, {
message: "Something went wrong, please try again."
});
var token = auth.signToken(user._id, user.role);
res.json({ token: token });
})(req, res, next);
});
Как мне отправить имя пользователя?Должен ли я указать поле bindCredentials?
Спасибо