Advertisement
makapoh

VK Oauth + OpenAPI

Dec 10th, 2012
842
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.38 KB | None | 0 0
  1. <?php
  2.         // callback при авторизации
  3.         define("API_SECRET", "abcdefg"); // секретный ключ
  4.         define("API_ID", "123456"); // ID приложения
  5.     define("REDIRECT_URI", "http://example.com/auth/vk"); // Адрес redirect_uri который использовался при авторизации
  6.         session_start();
  7.     if (isset($_GET["code"])) {
  8.         $data = file_get_contents("https://oauth.vk.com/oauth/access_token?client_id=" . API_ID . "&client_secret=" . API_SECRET . "&redirect_uri=" . urlencode(REDIRECT_URI) . "&code=" . $_GET["code"]);
  9.         $r = json_decode($data);
  10.         $_SESSION["token"] = $r->access_token;
  11.         $_SESSION["uid"] = $r->user_id;
  12.         // после успешной авторизации вы сможете использовать во всех php скриптах переменные $_SESSION["token"] и $_SESSION["uid"]
  13.         $vk = array(
  14.             "expire" => time() + 84600,
  15.             "mid" => $_SESSION["uid"],
  16.             "secret" => "oauth",
  17.             "sid" => $_SESSION["token"]        
  18.         );
  19.        
  20.         $sig = '';
  21.         foreach ($vk as $key => $value)
  22.             $sig .= ($key.'='.$value);
  23.     $vk["sig"] = md5($sig . API_SECRET);
  24.         setcookie("vk_app_" . API_ID, http_build_query($vk), 84600); // устанавливаем cookie для open api
  25.         header('Location: /'); // переход на главную страницу сайта
  26.     }
  27. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement