Node.js中的LDAP身份验证,OU中有空格

Node.js中的LDAP身份验证,OU中有空格,node.js,ldap,passport.js,Node.js,Ldap,Passport.js,我正在尝试使用用于的策略连接到OU中有空格的LDAP系统,但失败了 这失败了: let OPTS = { server: { url: 'ldap://ldap.company.com:PORT', bindDn: 'CN=some-group,OU=Utils,OU=Some Users,DC=thing,DC=com', bindCredentials: 'my$pass', searchBase: 'ou=some u

我正在尝试使用用于的策略连接到
OU
中有空格的LDAP系统,但失败了

这失败了:

let OPTS = {
    server: {
        url: 'ldap://ldap.company.com:PORT',
        bindDn: 'CN=some-group,OU=Utils,OU=Some Users,DC=thing,DC=com',
        bindCredentials: 'my$pass',
        searchBase: 'ou=some users,DC=thing,DC=com',
        searchFilter: '(uid={{username}})'
    }
};
但这在命令行上成功:

ldapsearch -H ldap://ldap.company.com:PORT -x -D 'CN=some-group,OU=Utils,OU=Some Users,DC=thing,DC=com' -w 'my$pass' -b 'ou=some users,DC=thing,DC=com' "(uid=username)"

我尝试了转义引号、空格和组合的
的每一种组合,但都没有效果。在应用程序中,响应总是
未经授权的
,即使相同的凭据在命令行中成功。

LDAP不需要“,OU=某些用户,“逃脱。必须是node.js实现中的某个内容。没错。事实证明,这是LDAP端凭据的一个问题。简单的
401 Unauthorized
响应使跟踪这一点变得非常困难,因此我将在工具中寻找更详细的消息。谢谢你看!LDAP不需要转义“OU=Some Users”。必须是node.js实现中的某个内容。没错。事实证明,这是LDAP端凭据的一个问题。简单的
401 Unauthorized
响应使跟踪这一点变得非常困难,因此我将在工具中寻找更详细的消息。谢谢你看!