Добрый день.
Делаю авторизацию на сайте. Точнее, копирую готовый функционал с другого сайта (на другом хостинге), правда, там старая версия BITRIX (14) и php 5.6, а тут последняя (20, пока без лицензии) и php 7.4.
В общем, авторизация работает, но не продлевается, даже при включённых настройках "Разрешить запоминание авторизации", "Использовать защищенное хранение авторизации в cookies", "Распространять авторизацию на все домены". (пробовал разные вариации настроек)
Для авторизации используется кастомный функционал, который авторизует по проверочному коду, высылаемому в SMS. Т.е. человек указал свой номер телефона, битрикс проверяет наличие пользователя с этим номером и высылает смс с кодом для подтверждения. После ввода корректного кода срабатывает функция: CUser::Authorize($ID,true). Без ajax-а.
Обращаю внимание, что второй параметр функции установлен на true и по идее он отвечает за включение сохранения авторизации. Но этого не происходит.
Пробовал заменить эту функцию и вручную авторизовать пользователя по CUSER::Login($LOGIN,$PASSWORD,"Y"), третий параметр которой так же отвечает за сохранение авторизации, но эффекта тоже нуль.
Обратил внимание, что при авторизации не устанавливаются cookie из серии BITRIX_SM_........., в частности, BITRIX_SM_LOGIN, BITRIX_SM_UIDH - которые, как раз за это и отвечают. Однако, бесполезная BITRIX_SM_SOUND_LOGIN_PLAYED устанавливается. Что очень странно.
Функция $USER->SavePasswordHash();, которая по идее должна записывать эти куки вручную, ничего тоже не записывает.
Возможно, кто-нибудь сталкивался с этой ситуацией? Подскажите, куда копать? Я склоняюсь к мысли, что, вероятно, настройки php/сервера мешают сохранять нужные cookies.
Делаю авторизацию на сайте. Точнее, копирую готовый функционал с другого сайта (на другом хостинге), правда, там старая версия BITRIX (14) и php 5.6, а тут последняя (20, пока без лицензии) и php 7.4.
В общем, авторизация работает, но не продлевается, даже при включённых настройках "Разрешить запоминание авторизации", "Использовать защищенное хранение авторизации в cookies", "Распространять авторизацию на все домены". (пробовал разные вариации настроек)
Для авторизации используется кастомный функционал, который авторизует по проверочному коду, высылаемому в SMS. Т.е. человек указал свой номер телефона, битрикс проверяет наличие пользователя с этим номером и высылает смс с кодом для подтверждения. После ввода корректного кода срабатывает функция: CUser::Authorize($ID,true). Без ajax-а.
Обращаю внимание, что второй параметр функции установлен на true и по идее он отвечает за включение сохранения авторизации. Но этого не происходит.
Пробовал заменить эту функцию и вручную авторизовать пользователя по CUSER::Login($LOGIN,$PASSWORD,"Y"), третий параметр которой так же отвечает за сохранение авторизации, но эффекта тоже нуль.
Обратил внимание, что при авторизации не устанавливаются cookie из серии BITRIX_SM_........., в частности, BITRIX_SM_LOGIN, BITRIX_SM_UIDH - которые, как раз за это и отвечают. Однако, бесполезная BITRIX_SM_SOUND_LOGIN_PLAYED устанавливается. Что очень странно.
Функция $USER->SavePasswordHash();, которая по идее должна записывать эти куки вручную, ничего тоже не записывает.
Возможно, кто-нибудь сталкивался с этой ситуацией? Подскажите, куда копать? Я склоняюсь к мысли, что, вероятно, настройки php/сервера мешают сохранять нужные cookies.