[英]How to fix “Missing Credentials” response in passport-ldapauth
我已经将我的passport-ldapauth策略配置如下:
我已经更改了敏感信息,但我要做的是测试LDAP服务器的身份验证,我已经在usernameField
和passwordField
对护照进行了硬编码。
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
中验证了usernameField
和passwordField
包含必要的凭据,但是当我通过邮递员触发邮件请求时,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.