<?php session_start(); require_once 'requires.php'; include_once './db.class.php'; $db = new DB(); if (isset($_GET['code'])) { $code = $_GET['code']; $oauth = new RenRenOauth(); $token = $oauth->getAccessToken($code); } else { header('Location: ../index.php'); } if ($token) { //用户入库 $sql = "SELECT * FROM " . DB_TABLE_PREFIX . "renren_user WHERE w_id LIKE '{$_SESSION['id']}'"; $result = $db->get_one($sql); if (empty($result)) { $sql_arr = array(); $sql_arr['w_id'] = $_SESSION['id']; $db->insert(DB_TABLE_PREFIX . 'renren_user', $sql_arr); } // token入库 $sql_arr = array(); $sql_arrp['renren_id'] = $token['user']['id']; $sql_arrp['renren_name'] = $token['user']['name']; $sql_arrp['access_token'] = $token['access_token']; $sql_arrp['refresh_token'] = $token['refresh_token']; $sql_arrp['token_insert_time'] = time(); $con = "w_id={$_SESSION['id']}"; $updaters = $db->update(DB_TABLE_PREFIX . "renren_user", $sql_arrp, $con);
<?php session_start(); include_once './class/db.class.php'; require_once 'class/requires.php'; header('Content-Type: text/html; charset=utf-8'); //判断session是否设置,到授权页面 if (isset($_SESSION['access_token'])) { $oauth = new RenRenOauth(); try { $key = $oauth->getSessionKey($_SESSION['access_token']); } catch (Exception $e) { } if (isset($key)) { $_SESSION['key'] = $key; header("Location: home.php"); } else { header("Location: modular/logout.php"); } } else { header("Location: login.php"); }
<?php // 170068|7.de09805814123f011c1f4e5261eeaef5.5184000.1327914000-363524545 // 170068|7.33832a158aff303ebd93bddf90f23df1.5184000.1327906800-363524545 session_start(); require_once '../class/requires.php'; include_once '../class/db.class.php'; $oauth = new RenRenOauth(); $db = new DB(); $sql = "SELECT * FROM renren_user WHERE w_id LIKE '{$_SESSION['id']}'"; $result = $db->get_one($sql); $token = $oauth->refreshAccessToken($result['refresh_token']); print_r($token); // if ($token) { // 用户入库 // $sql = "SELECT * FROM renren_user WHERE w_id LIKE '{$_SESSION['id']}'"; // $result = $db->get_one($sql); // if(empty($result)){ // $sql_arr = array(); // $sql_arr['w_id'] = $_SESSION['id']; // $sql_arr['w_name'] =$_SESSION['name']; // $db->insert('renren_user',$sql_arr); // } // token入库 // $sql_arr = array(); // $sql_arrp['access_token'] = $token['access_token']; // $sql_arrp['refresh_token'] = $token['refresh_token']; // $sql_arrp['token_insert_time'] = time(); // $con = "w_id={$_SESSION['id']}"; // $updaters = $db->update('renren_user',$sql_arrp,$con); // setcookie( 'weibojs_'.$o->client_id, http_build_query($token) );
<?php /* 获取Authorization Code * 每一个Authorization Code的有效期为一个小时,并且只能使用一次,再次使用将无效。 * * 为了获取Authorization Code,应用需要将用户浏览器重定向到授权服务器“https://graph.renren.com/oauth/authorize”,并带上3个必须参数。 * * client_id:必须参数。注册应用时获得的API Key。 * response_type:必须参数。Web应用时,此值固定为“code”。 * redirect_uri:授权后要回调的URI,即接受code的URI。 * scope:非必须参数。以空格分隔的权限列表,若不传递此参数,代表请求用户的默认权限。关于权限的具体信息请参考'权限列表'。 * state:非必须参数。用于保持请求和回调的状态。授权服务器在回调时(重定向用户浏览器到“redirect_uri”时),会在Query Parameter中原样回传该参数。 * display:非必须参数。登录和授权页面的展现实行,默认为“page”,适用于全功能浏览器的页面。此参数还可以设置为“mobile”,适用于WAP站点;“touch”适用于有全功能浏览器的智能手机客户端应用。 */ require_once '../class/requires.php'; $oauth = new RenRenOauth(); # 本例中是生成超链接,实际应用中您可以使用header("Location: $url");方式跳转 $url = $oauth->getAuthorizeUrl(); $url = $url . '&state=' . time(); header("Location: {$url}"); ?> <a href="<?php echo $url; ?> ">到人人网获取授权<img src = '../img/renrenau.jpg'/></a>
<?php require_once '../../requires.php'; $oauth = new RenRenOauth(); $access_token = $_GET['access_token']; $key = $oauth->getSessionKey($access_token); var_dump($key); echo '<br/><br/>'; ?> <a href="../api/5_api.php?session_key=<?php echo $key['renren_token']['session_key']; ?>">Test Api</a>
require_once 'class/requires.php'; //开启测试$_SESSION['id']设置为1;能在服务器读出$_SESSION['id']删除这段代码。或者在config.php文件设置WEB_TEST为假 if (WEB_TEST) { $_SESSION['id'] = 1; } //没$_SESSION['id'] 直接回到登陆处。 if (!isset($_SESSION['id'])) { header("Location: ./modular/login.php"); } //根据$_SESSION['id']读出用户信息 $db = new DB(); $sql = "SELECT * FROM " . DB_TABLE_PREFIX . "renren_user WHERE `w_id` = {$_SESSION['id']} LIMIT 0,1"; $result = $db->get_one($sql); if ($result && time() - $result['token_insert_time'] < EXPIRES_IN && !empty($result['access_token'])) { /***重定向到人人主页***/ $oauth = new RenRenOauth(); try { $key = $oauth->getSessionKey($result['access_token']); } catch (Exception $e) { } if (isset($key)) { $_SESSION['key'] = $key; header("Location: home.php"); } else { header("Location: modular/logout.php"); } } elseif ($result && time() - $result['token_insert_time'] < EXPIRES_IN * 2 && !empty($result['refresh_token'])) { /***重定向到refresh_token刷新token***/ header("Location: ./class/refresh_token.php"); } else { /***大于2个月没登陆,要到人人网重新授权***/
if ($_SESSION['wp_url_back']) { $redirect_to = $_SESSION['wp_url_back']; } else { $redirect_to = get_bloginfo('url'); } $action = isset($_GET['login']) ? $_GET['login'] : ''; if ($action == 'RENREN') { $_SESSION['wp_url_login'] = ""; $_SESSION['bind'] = ""; $oauth = new RenRenOauth(); $url = $oauth->getAuthorizeUrl(); header("Location: {$url}"); } else { if (isset($_GET['code'])) { $code = $_GET['code']; $oauth = new RenRenOauth(); $token = $oauth->getAccessToken($code); $access_token = $token['access_token']; $key = $oauth->getSessionKey($access_token); $session_key = $key['renren_token']['session_key']; //return var_dump($session_key); if ($session_key) { $client = new RenRenClient(); $client->setSessionKey($session_key); // 调用api时的第一个参数是api方法名。 // 第二个参数请参考renren.class.php文件中的配置进行设置。 $renren = $client->POST('users.getInfo'); //return var_dump($renren); $renren = $renren[0]; $username = $renren['uid']; $name = $renren['name'];