Если вы авторизуете польвзаотелей только на странице /auth/
, то для редиректа пользователя обратно, после успешной авторизациии, в теле страницы можно разместить следующий код
<?php
$req = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
if (!$USER->isAuthorized()
&& !str_contains($_SERVER['HTTP_REFERER'], '/auth/')
&& !$req->get('back_url')
) {
$req = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
$oUrl = new \Bitrix\Main\Web\Uri($req->getRequestUri());
$oUrl->setHost('');
$oUrl->addParams([
'back_url' => (new \Bitrix\Main\Web\Uri($_SERVER['HTTP_REFERER'] ?? '/'))->withScheme('')->setHost('')->getLocator()
]);
LocalRedirect($oUrl->getLocator());
}
if ($USER->isAuthorized()
&& empty($_SERVER['HTTP_X_REQUESTED_WITH'])
) {
$req = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();
LocalRedirect($req->get('back_url') ?? '/');
}
?>
Этот код добавить дополнительный парамтер в адрес страницы, содержащий последнюю страницу пользователя, с которой он попал на страницу авторизации. А после успешной авторизации произойдет автоматический редирект обратно.