Авторизация через API, получение сервером данных юзера

Создание Desktop-приложений, виджеты ВКонтакте для сайтов и публичных страниц, OAuth 2.0, Open API, Standalone
Ответить
nikita-kun
Сообщения: 2
Зарегистрирован: 19 дек 2010, 14:39

Авторизация через API, получение сервером данных юзера

Сообщение nikita-kun »

Здравствуйте!

У меня есть сайт со своей регистрацией
я хочу заменить авторизацию на контактовскую

я уже сделал кнопку, если ты залогинен то сайт работает
однако мне нужно чтобы сайтом могли пользоваться члены одной группы вконтакте и никто другой

получается мне надо чтобы обработчик пхп мог получить информацию о юзере из апи непосредственно из вконтакте или как то так
проверить принадлежность к группе или тупо хотя бы посмотреть айди юзера и поискать его в списке

Код: Выделить всё

<?phpfunction authOpenAPIMember() {  $session = array();  $member = FALSE;  $valid_keys = array('expire', 'mid', 'secret', 'sid', 'sig');  $app_cookie = $_COOKIE['vk_app_мой_айди***'];  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 .= 'сдесь секретный ключ';    $sign = md5($sign);    if ($session['sig'] == $sign && $session['expire'] > time()) {      $member = array(        'id' => intval($session['mid']),        'secret' => $session['secret'],        'sid' => $session['sid']      );    }  }  return $member;} ?>
этот инклуд я вставляю на какую нибудь php страницу и вызываю функцию

Код: Выделить всё

$member = authOpenAPIMember(); if($member == FALSE) {  /* Пользователь ne авторизирован в Open API */echo('$member == false ne avtorizirovan');} else {  /* Пользователь авторизирован в Open API, делаем свои дела */echo('$member == true, avtorizirovan');/* всякое разное..... */} 
теперь основной вопрос
как мне узнать хотя бы айди пользователя
чтобы можно было например

Код: Выделить всё

$member = authOpenAPIMember(); if($member == FALSE) {  /* НЕЛЮДИ */} elseif($member == TRUE && ID_VKONTAKTE==123467) {  /* АДМИН ДЕТЕКТЕД! */} else {/* ОБЫЧНЫЕ ЮЗЕРЫ */} 
как серверу получить данные юзера?

вот ссылка
http://22105.ru
nikita-kun
Сообщения: 2
Зарегистрирован: 19 дек 2010, 14:39

Re: Авторизация через API, получение сервером данных юзера

Сообщение nikita-kun »

всем спасибо :|
проблема решена :roll:
sersche
FL Team
FL Team
Сообщения: 598
Зарегистрирован: 11 май 2010, 13:45

Re: Авторизация через API, получение сервером данных юзера

Сообщение sersche »

может оформишьс свой труд как урок и выложишь? было бы очень даже хорошо..
Ответить