У меня есть сайт на PHP и вы хотите аутентифицировать пользователей от Azure Active Directory. С ldap_connect и bind у меня нет проблем, чтобы сделать это с локальным AD-сервером в нашей компании.Аутентифицировать пользователей от Azure Active Directory от веб-приложения PHP
function checkADAccount($username, $password)
{
$adServer = "myADServer";
$ldaprdn = 'myDomain' . "\\" . $username;
$ldap = ldap_connect($adServer);
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
$bind = @ldap_bind($ldap, $ldaprdn, $password);
if ($bind) {
@ldap_close($ldap); // Verbindung schließen
return true;
} else {
return false;
}
}
Но мое приложение размещается на Amazon Web Services (AWS) и не в том же домене, поэтому я не могу использовать этот способ. С помощью ldap_connect и привяжите эти функции к локальному AD-серверу в нашей компании. Но мое приложение размещено в Amazon Web Services (AWS) и не находится в том же домене, поэтому я не могу использовать этот способ.
Я проверил graphapi с ClientId и ключом для моей компании от Azure. Поэтому я могу читать данные пользователей, но я не вижу возможности проверить комбинацию пользователей и паролей. Я только хочу проверить, существует ли пользователь с этим паролем, мне не нужно его читать.
Так что я попытался изменить LDAP-решение сверху, изменяя параметр Adserver и пользователя
$ldaprdn = 'sAMAccountname=' . $username . ',cn=users' . ',dc=myDomain,dc=com';
Но я allwaws получить: «Предупреждение: ldap_bind(): Не удается связать с сервером : Не удается связаться с сервером LDAP «. Я пробовал использовать несколько версий для adServer, но любой делитель связывает.
У вас есть идеи, где ошибка. Я предлагаю, что ldap_connect - это способ wron, espacially я не знаю, какой сервер-адрес является правильным и как я должен был указать ClientId и ключ.
Нужно делать то же самое, но я не вижу ничего в этом примере кода, который фактически аутентифицирует вход пользователей в Azure AD? –
@mederomuraliev, обратитесь к https://stackoverflow.com/questions/33509761/connect-to-azure-active-directory-from-php-web-application –