Как подключиться к Okta LDAP?

Итак, у меня есть каталог LDAP с настроенным Okta. У меня проблемы с подключением к нему с помощью PHP. Вот мой код:

$domain = 'phishingboxdecember15thaccount.ldap.okta.com';
$username = 'USERNAME';
$password = 'PASSWORD';
$ldapconfig['host'] = '44.234.52.17';  // I got this by pinging the domain. I guess that's correct?
$ldapconfig['port'] = 636;
$ldapconfig['basedn'] = 'dc=phishingboxdecember15thaccount,dc=okta,dc=com';

$ds=ldap_connect($ldapconfig['host'], $ldapconfig['port']);

ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);

$dn="ou=users,".$ldapconfig['basedn'];
$bind=ldap_bind($ds, $username .'@' .$domain, $password);
print_r($bind);
$isITuser = ldap_search($bind,$dn,'(&(objectClass=User)(sAMAccountName=' . $username. '))');
if ($isITuser) {
    echo("Login correct");
} else {
    echo("Login incorrect");
}

Но это никогда не работает. Всегда получаю неверный логин, и я уверен, что использую правильный пароль (хотя я не уверен в части имени пользователя - я просто использую имя пользователя, которое ввожу, чтобы войти в свою учетную запись администратора Okta, я предполагаю, что это верный?).

У вас есть идеи / советы о том, как я могу подключиться к Okta LDAP с помощью PHP?


person BigDataFiles    schedule 05.01.2021    source источник


Ответы (1)


Необходимые вам настройки находятся в документации здесь. То, что мне приходит в голову, это то, что хост должен иметь вид ‹org_subdomain› .ldap.okta.com, как у вас в переменной домена.

Я думаю, ваш поиск нужно будет настроить на: ldap_search($bind,$dn,'(&(objectClass=inetOrgPerson)(uid=' . $username. '))');, но это не остановит ваш вход в систему.

person Andy March    schedule 05.01.2021