Как продлить время жизни cookie OpenApi
Добавлено: 16 окт 2012, 08:01
Привет всем. Подскажите как можно продлить cookie в OpenApi авторизации на стороннем сайте. При авторизации время жизни этой cookie составляет где-то час вроде, но например на этом сайте comicsbook.ru время этой куки несколько лет. Я через php менял время жизни этой куки, например на год, но все равно работает 1 час. На сервере использую эту функцию
Походу все дело в параметре expire. Убирал $session['expire'] > time(), но все равно не хочет. Может кто сталкивался с подобной проблемой.
Код: Выделить всё
function authOpenAPIMember() { $session = array(); $member = FALSE; $valid_keys = array('expire', 'mid', 'secret', 'sid', 'sig'); $app_cookie = $_COOKIE['vk_app_'.APP_ID]; if ($app_cookie) { $session_data = explode ('&', $app_cookie, 10); foreach ($session_data as $pair) { list($key, $value) = explode('=', $pair, 2); if (empty($key) || empty($value) || !in_array($key, $valid_keys)) { continue; } $session[$key] = $value; } foreach ($valid_keys as $key) { if (!isset($session[$key])) return $member; } ksort($session); $sign = ''; foreach ($session as $key => $value) { if ($key != 'sig') { $sign .= ($key.'='.$value); } } $sign .= APP_SHARED_SECRET; $sign = md5($sign); if ($session['sig'] == $sign && $session['expire'] > time()) { $member = array( 'id' => intval($session['mid']), 'secret' => $session['secret'], 'sid' => $session['sid'] ); } } return $member;}