Как должна работать эта фича в битрикс?
Авторизую юзера:
Код |
---|
global $USER;
if (!is_object($USER)) $USER = new CUser;
$arAuthResult = $USER->Login($login, $password, $remember, "Y");
$APPLICATION->arAuthResult = $arAuthResult; |
в $remember передаю или "Y" или "N"
После авторизации я так понимаю автоматом ничего не произойдет, если $remember = Y надо самому задать куки?
Задаю:
Код |
---|
<?$hash = CUser::GetPasswordHash($USER->GetParam("PASSWORD_HASH"));
$name = COption::GetOptionString("main", "cookie_name", "BITRIX_SM")."_UIDH";
@setcookie($name, $hash, time()+60*60*24*30*60, "/");
$USER->SavePasswordHash();?> |
Далее проверяю куки - вроде все есть. Пытаюсь авторизовать:
Код |
---|
<?global $USER;
if(!$USER->IsAuthorized()){
if (!is_object($USER)) $USER = new CUser;
$cookie_login = ${COption::GetOptionString("main", "cookie_name", "BITRIX_SM")."_LOGIN"};
$cookie_md5pass = ${COption::GetOptionString("main", "cookie_name", "BITRIX_SM")."_UIDH"};
$USER->LoginByHash($cookie_login, $cookie_md5pass);
}?> |
Получаю ошибку:
Код |
---|
Проверка сохраненной авторизации не пройдена! |
$cookie_login содержит валидный логин, $cookie_md5pass тоже содержит хэш.
В чем может быть проблема? Хэш надо как-то по другому задавать?
В админке стоит ТОЛЬКО галочка "Разрешить запоминание авторизации".