示例#1
0
    header('Access-Control-Allow-Origin: *');
}
$data = array("status" => "failed", "bitrix_sessid" => bitrix_sessid());
$userData = CHTTP::ParseAuthRequest();
$APPLICATION->RestartBuffer();
$login = $userData["basic"]["username"];
$isAlreadyAuthorized = $USER->IsAuthorized();
if (!$isAlreadyAuthorized) {
    if ($isAlreadyAuthorized) {
        $USER->Logout();
    }
    if (IsModuleInstalled('bitrix24')) {
        header('Access-Control-Allow-Origin: *');
    }
    if ($login) {
        if (CModule::IncludeModule('bitrix24') && ($captchaInfo = CBitrix24::getStoredCaptcha())) {
            $data["captchaCode"] = $captchaInfo["captchaCode"];
            $data["captchaURL"] = $captchaInfo["captchaURL"];
        } elseif ($APPLICATION->NeedCAPTHAForLogin($login)) {
            $data["captchaCode"] = $APPLICATION->CaptchaGetCode();
        }
        if (CModule::IncludeModule("security") && \Bitrix\Security\Mfa\Otp::isOtpRequired()) {
            $data["needOtp"] = true;
        }
    }
    CHTTP::SetStatus("401 Unauthorized");
} else {
    $bExtranetInstalled = CModule::IncludeModule("extranet") && CExtranet::GetExtranetSiteID();
    $arSelectParams = array("FIELDS" => array("PERSONAL_PHOTO"));
    if ($bExtranetInstalled) {
        $arSelectParams["SELECT"] = array("UF_DEPARTMENT");