php Битрикс bitrix проверка авторизации
<?php
// Показ ошибок
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
// Приём от всего
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Headers: Authorization, Origin, X-Requested-With, Accept, X-PINGOTHER, Content-Type');
// Приём данных
$string_json = file_get_contents('php://input');
try {
$data = json_decode($string_json, true);
} catch (Exception $e) {
echo 'json_decode error ', $e->getMessage(), "\n";
exit();
}
// Проверка прихода нормального запроса
if (
!isset($data['login']) ||
!isset($data['password'])
) {
echo 'data error ';
exit();
}
// Проверка авторизации в битрикс
function loginBitrix($login, $password) {
define('NOT_CHECK_PERMISSIONS', true); // Убрать форму авторизации
require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');
global $USER;
$arAuthResult = $USER->Login($login, $password);
if ($arAuthResult === true) {
$userInfo = $USER->GetByID($USER->GetID())->Fetch();
$fullName = $userInfo["LAST_NAME"] . " " . $userInfo["NAME"] . " " . $userInfo["SECOND_NAME"];
return [
'user_name' => $fullName,
'isAuthorized' => 1
];
}
return [
'err' => $arAuthResult["MESSAGE"], // 'Invalid password entered',
'isAuthorized' => 0
];
}
echo json_encode(loginBitrix($data['login'], $data['password']));