我正在尝试使用Passport's Ldap library创建LDAP身份验证,并且出现以下错误:
{ “ 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字段吗?
谢谢
答案 0 :(得分:0)
已解决。问题是console.log的值。由于某些我不知道的原因,终端无法读取此Json对象。
我在Postman中测试过,值还可以。
还是谢谢。