configurationpassport-ldap

试图使用这个包: https : //www.npmjs.com/package/passport-ldapauth

我设法find我的公司的ldap设置在一个medawikiserver(php)

$wgLDAPDomainNames = array("COMPANY"); $wgLDAPGroupBaseDNs = array("COMPANY"=>"dc=company,dc=se"); $wgLDAPAutoAuthDomain = "COMPANY"; $wgLDAPGroupUseFullDN = array("COMPANY"=>true ); $wgLDAPServerNames = array("COMPANY"=>"dcst.company.se"); $wgLDAPSearchStrings = array("COMPANY" => "COMPANY\\USER-NAME" ); $wgLDAPSearchAttributes = array("COMPANY"=>"sAMAccountName"); $wgLDAPBaseDNs = array("COMPANY"=>"dc=company,dc=se"); $wgLDAPEncryptionType = array("COMPANY" => "ssl" ); $wgMinimalPasswordLength = 1; 

我需要将其映射到节点包。 我试过这个:

 var opts = { server: { url: 'ldaps://dcst.company.se', bindDn: 'dc=company,dc=se', //bindCredentials: 'secret', searchBase: 'dc=company,dc=se', searchFilter: '(&(objectcategory=person)(objectclass=user)(|(samaccountname={{username}})(mail={{username}})))', searchAttributes: ['displayName', 'mail'], } }; 

我得到“不良要求”。 这是从文档:

 badRequestMessage flash message for missing username/password (default: 'Missing credentials') 

我做错了什么?

您需要添加pipe理员凭据。 以下是我的configuration如何工作:

 var Strategy = require('passport-ldapauth').Strategy , passport = require('passport') , config = require('config') , userLookup = require('./userLookup'); var ldapConfig = { server: { url: config.get('ldap.url'), adminDn: config.get('ldap.adminDn'), adminPassword: config.get('ldap.adminPassword'), searchBase: config.get('ldap.searchBase'), searchFilter: config.get('ldap.searchFilter') } }; passport.use('ldap', new Strategy(ldapConfig, userLookup));