public function qqlogin() { $loginconfig = FS("Webconfig/loginconfig"); require C("APP_ROOT") . "Lib/Oauth/qq2.0/oauth/qq_callback.php"; //QQ登录成功后的回调地址,主要保存access token qq_callback(); //获取用户标示id get_openid(); //获取用户信息 $userInfo = get_user_info(); $map['openid'] = text($_SESSION['openid']); //唯一ID $map['site'] = 'qq'; $this->appCk($map, $userInfo->nickname, 'qq'); }
public function qq() { $loginconfig = FS("Webconfig/loginconfig"); require C("APP_ROOT") . "Lib/Oauth/qq2.0/oauth/qq_callback.php"; qq_callback(); //获取用户标示id get_openid(); //获取用户信息 $userInfo = (array) get_user_info(); $map['openid'] = text($_SESSION['openid']); //唯一ID $map['site'] = 'qq'; $field = array('is_bind' => 1, 'site' => 'qq', 'openid' => $_SESSION['openid'], 'nickname' => $userInfo['nickname'], 'avatar' => $userInfo['figureurl_2'], 'logintimes' => 1, 'bind_uid' => $this->uid, 'logintime' => time(), 'addtime' => time()); $this->OauthSave($map, $field); }
public function qqlogin() { $loginconfig = FS("Webconfig/loginconfig"); require C("APP_ROOT") . "Lib/Oauth/qq2.0/oauth/qq_callback.php"; //QQ登录成功后的回调地址,主要保存access token $res = qq_callback(); if ($res !== true) { $this->assign('waitSecond', "5"); $this->error($res, __ROOT__ . "/"); } //获取用户标示id get_openid(); //获取用户信息 $userInfo = get_user_info(); // $userInfo->nickname = date("YmdHis"); $map['openid'] = text($_SESSION['openid']); //唯一ID $map['site'] = 'qq'; $this->appCk($map, $userInfo->nickname); }
$_SESSION["access_token"] = $params["access_token"]; } else { echo "The state does not match. You may be a victim of CSRF."; } } function get_openid() { $graph_url = "https://graph.qq.com/oauth2.0/me?access_token=" . $_SESSION['access_token']; $str = get_url_contents($graph_url); if (strpos($str, "callback") !== false) { $lpos = strpos($str, "("); $rpos = strrpos($str, ")"); $str = substr($str, $lpos + 1, $rpos - $lpos - 1); } $user = json_decode($str); if (isset($user->error)) { echo "<h3>error:</h3>" . $user->error; echo "<h3>msg :</h3>" . $user->error_description; exit; } //debug //echo("Hello " . $user->openid); //set openid to session $_SESSION["openid"] = $user->openid; } //QQ登录成功后的回调地址,主要保存access token qq_callback(); //获取用户标示id get_openid(); @header('location: index.php?act=connect'); exit;
function get_user_info() { $get_user_info = "https://graph.qq.com/user/get_user_info?" . "access_token=" . $_SESSION['access_token'] . "&oauth_consumer_key=" . $_SESSION["appid"] . "&openid=" . $_SESSION["openid"] . "&format=json"; $info = get_url_contents($get_user_info); $arr = json_decode($info, true); return $arr; } function get_info() { $get_info = "https://graph.qq.com/user/get_info?" . "access_token=" . $_SESSION['access_token'] . "&oauth_consumer_key=" . $_SESSION["appid"] . "&openid=" . $_SESSION["openid"] . "&format=json"; $info = get_url_contents($get_info); $arr = json_decode($info, true); return $arr; } //QQ登录成功后的回调地址,主要保存access token $cb = qq_callback(); //获取用户标示id get_openid(); $openid = $_SESSION["openid"]; $expires = $timestamp - 20 + $cb["expires_in"]; $_SESSION["expires"] = $expires; $db_openid = $DBS->fetch_one_array("SELECT `id`,`uid`,`name` FROM `yunbbs_qqweibo` WHERE `openid`='" . $openid . "'"); if ($db_openid && $db_openid['uid']) { // 如果微博信息为空尝试获取微博信息 if (!$db_openid['name'] && strpos(' ' . $_SESSION["scope"], 'get_info')) { $user_info = get_info(); if ($user_info['data']['name']) { $oid = $db_openid['id']; $name = $user_info['data']['name']; $DBM = new DB_MySQL(); $DBM->connect($servername_m, $dbport, $dbusername, $dbpassword, $dbname);