Подтвердить что ты не робот

Настройка паспорта-ldap

Попытка использовать этот пакет: https://www.npmjs.com/package/passport-ldapauth

Мне удалось найти 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;

Мне нужно сопоставить это с node -пакетом. Я пробовал это:

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

Что я сделал неправильно?

4b9b3361

Ответ 1

Вам нужно добавить учетные данные администратора. Вот как работает моя конфигурация:

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