繁体   English   中英

如何修复passport-ldapauth中的“Missing Credentials”响应

[英]How to fix “Missing Credentials” response in passport-ldapauth

我已经将我的passport-ldapauth策略配置如下:

我已经更改了敏感信息,但我要做的是测试LDAP服务器的身份验证,我已经在usernameFieldpasswordField对护照进行了硬编码。

    const OPTS = {
      server: {
        url: "ldaps://ldap:port",
        searchBase: "<Search-details>",
        searchFilter:
          "(&(objectCategory=person)(objectClass=user)(sAMAccountName={0}))",
        groupSearchFilter:
          "(&(objectCategory=person)(objectClass=user)(memberOf={0}))",
        searchAttributes: ["displayName", "sAMAccountName", "mail", "memberOf"]
      },
      usernameField: "<hardcoded-username>",
      passwordField: "<hardcoded-password>",
      tlsOptions: {
        ca: [fs.readFileSync("LDAP-SSL-CERT")]
      }
    };

    passport.use(
      new LdapStrategy(OPTS, (user: any, done: any) => {
        return done(null, user);
      })
    );

我在req中验证了usernameFieldpasswordField包含必要的凭据,但是当我通过邮递员触发邮件请求时,ldapauth仍然返回{message: 'Missing credentials'}

    export let postLogin = (req: Request, res: Response, next: NextFunction) => {

        passport.serializeUser((user: any, done: any) => {
          done(null, user);
        });

        passport.deserializeUser((user: any, done: any) => {
          done(null, user);
        });

        passport.authenticate(
          "ldapauth",
          { session: false },
          (err: Error, user: any, info: any) => {
            if (err) return next(err);
            console.log(err);
            console.log(user);
            console.log(info);
            res.send({ status: "ok" });
          }
        )(req, res, next);
      };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM