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));