Passport-ldapauth:缺少凭证

时间:2018-09-26 12:00:30

标签: javascript node.js authentication ldap passport.js

我正在尝试使用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字段吗?

谢谢

1 个答案:

答案 0 :(得分:0)

已解决。问题是console.log的值。由于某些我不知道的原因,终端无法读取此Json对象。

我在Postman中测试过,值还可以。

还是谢谢。

相关问题