public function callback() { es_session::start(); require_once APP_ROOT_PATH . "system/api_login/qqv2/qqConnectAPI.php"; $qc = new QC(); $access_token = $qc->qq_callback(); $openid = $qc->get_openid(); $use_info_keysArr = array("access_token" => $access_token, "openid" => $openid, "oauth_consumer_key" => $this->api['config']['app_key']); $use_info_url = "https://graph.qq.com/user/get_user_info"; $graph_use_info_url = $qc->urlUtils->combineURL($use_info_url, $use_info_keysArr); $response = $qc->urlUtils->get_contents($graph_use_info_url); $arr = array(); $arr = json_decode($response, true); $msg['field'] = 'qq_id'; $msg['id'] = $openid; $msg['name'] = $arr["nickname"]; es_session::set("api_user_info", $msg); $user_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where qq_id = '" . $openid . "' and qq_id <> '' and is_effect=1 and is_delete=0"); if ($user_data) { $user_current_group = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user_group where id = " . intval($user_data['group_id'])); $user_group = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user_group where score <=" . intval($user_data['score']) . " order by score desc"); if ($user_current_group['score'] < $user_group['score']) { $user_data['group_id'] = intval($user_group['id']); } es_session::set("user_info", $user_data); $GLOBALS['db']->query("update " . DB_PREFIX . "user set login_ip = '" . get_client_ip() . "',login_time= " . TIME_UTC . ",group_id=" . intval($user_data['group_id']) . " where id =" . $user_data['id']); es_session::delete("api_user_info"); app_recirect_preview(); } else { $this->create_user(); app_redirect(APP_ROOT . "/"); } }
public function callback() { vendor('QQApi.qqConnectAPI'); $qc = new \QC(); $access_token = $qc->qq_callback(); $openid = $qc->get_openid(); $data['data'] = serialize(array('access_token' => $access_token, 'openid' => $openid)); M('post_log')->add($data); //注册会员信息 //查看此openid是否存在 $map['username'] = $openid; $detail = D('User')->where($map)->find(); $userid = $detail['userid']; $nickname = $detail['nickname']; if (!$detail) { //获取用户信息 $arr = $qc->get_user_info(); M('post_log')->add(array('data' => serialize($arr))); $info['username'] = $openid; $info['nickname'] = $nickname = $arr['nickname']; $userid = D('User')->add($info); } if ($userid) { //保存session session('userid', $userid); //保存cookie用户信息 cookie('userid', $userid); cookie('nickname', $nickname); cookie('userid', $userid); redirect(U('Shenma/user')); } /* $arr = $qc->get_user_info(); var_dump($arr);exit; */ }
public function callbackAction() { $mediaqqmodel = new Media_QQModel($this->_basemodel, $this->_qqparam); $app_id = isset($_REQUEST['app_id']) ? trim($_REQUEST['app_id']) : '69948denMVMoBujYGLSFGUHbkvP7E3'; $mediaqq = $mediaqqmodel->getApp($app_id); $APPID = $mediaqq['APPID'] && $mediaqq['APPKEY'] ? $mediaqq['APPID'] : $mediaqq['def_APPID']; $APPKEY = $mediaqq['APPID'] && $mediaqq['APPKEY'] ? $mediaqq['APPKEY'] : $mediaqq['def_APPKEY']; $redirect_uri = $this->_qqparam['redirect_uri'] . '?app_id=' . $mediaqq['app_id']; $state = md5($mediaqq['app_key']); $qcinit = new QQAPI_YafQQConnetAPI(); $qc = new QC(); $access_token = $qc->qq_callback($APPID, $redirect_uri, $APPKEY); echo $access_token . '----------'; $openid = $qc->get_openid($access_token); echo $openid . '---------'; $qqUser = $qc->my_get_userinfo($access_token, $openid, $APPID); if ($qqUser && $qqUser->nickname) { $media_user_id = $mediaqqmodel->saveUser($openid, $qqUser, $APPID); if ($media_user_id) { $usertokentime = date('Y-m-d H:i:s', time() + Yaf_Application::app()->getConfig()->application->usertokentime); $login_token = $mediaqqmodel->saveAccessToken($app_id, $access_token, $openid, $media_user_id, $usertokentime); if ($login_token) { $url = $mediaqq['token_url']; $concat = '&'; if (strpos($url, '?') === false) { $concat = '?'; } $url .= $concat . "token={$login_token}"; header("Location:{$url}"); } } } exit; }
public function callback() { require 'QQ/API/qqConnectAPI.php'; //引进qqapi 接口 $qc = new \QC(); $acs = $qc->qq_callback(); //获取access-token 和openid $oid = $qc->get_openid(); $qc = new \QC($acs, $oid); $uinfo = $qc->get_user_info(); //获取用户信息 $user = M('user'); $list = $user->where("openid='" . $oid . "' and status = 1")->find(); if ($list) { session('userid', $list['id']); session('username', $list['nickname']); session('userphone', $list['mobile']); session('userimg', $list['headpic']); //var_dump($list);die(); echo "<script>window.close();window.opener.location.reload()</script>"; exit; //$this->redirect('Index/index', '', 0, '页面跳转中...'); } else { session('openid', $oid); session('uinfo', $uinfo); session('sign', array('name' => 'QQ账号', 'code' => 1)); echo "<script>window.close();window.opener.location.href='" . U('User/threepartlogin') . "'</script>"; exit; } }
/** * 返回登录 */ public function callback() { require_once COMMON_LIB_PATH . "QqConnect/API/qqConnectAPI.php"; $qc = new QC(); $callback = $qc->qq_callback(); $openid = $qc->get_openid(); $user = K("user")->field("uid,username,password,qqau,userlock,uuid,usergroup")->where(array("qqau" => $openid))->find(); session("qqau", $openid); if (empty($user["qqau"])) { //首次登录或没有绑定账号 $qc = new QC($callback, $openid); $arr = $qc->get_user_info(); session("UserInfo", $arr["nickname"]); go("Passport/Qqlogin/index"); } elseif ($user["qqau"] == $openid) { //数据库比对正确 if ($user["userlock"] == 1) { $this->error("您已经被锁定,请联系管理员!"); } //$this->eve_exp($user["uid"]); $loginData = array("logintime" => time(), "loginip" => ip::getClientIp(), "qqau" => $openid); M("user")->where(array("uid" => $user["uid"]))->save($loginData); // p($_POST); session("username", $user["username"]); session("uid", $user["uid"]); session("uuid", $user["uuid"]); session("usergroup", $user["usergroup"]); $this->success("登录成功!正在跳转...", U(__WEB__)); } }
public function qqcallback() { Vendor('Oauth.QC#class'); $qc = new \QC(); $token = $qc->qq_callback(); $openid = $qc->get_openid(); if (!$token || !$openid) { $this->error('操作失败'); } // 重新实例化 QC类 $qc = new \QC($token, $openid); $uinfo = $qc->get_user_info(); $this->user_model = D('user'); $user = $this->user_model->field('id,email,password')->where(array('qq_token' => $token, 'qq_openid' => $openid))->find(); // echo $this->user_model->getLastSql(); if ($user['id'] > 0) { // 登录用户 if ($this->user_model->login($user['id'], $user['email'], $user['password'])) { //TODO:跳转到登录前页面 $this->success('登录成功!', session('rebackurl')); } else { $this->error($model->getError()); } } else { session('avatar', $uinfo['figureurl_qq_2']); session('openid', $openid); session('token', $token); session('uname', $uinfo['nickname']); session('oatype', 'qq_'); //print_r($uinfo); $this->redirect('join'); } }
public function qqcallback() { require_once "./QQ/API/qqConnectAPI.php"; $qc = new \QC(); echo $qc->qq_callback(); echo $qc->get_openid(); var_dump($qc); }
public function getAccessToken($parms) { require_once dirname(__FILE__) . "/API/qqConnectAPI.php"; $qc = new QC(); $access_token = $qc->qq_callback($this->apiId, parent::getReturnUrl(), $this->apiKey); $openid = $qc->get_openid(); ISession::set('openid', $openid); ISession::set('access_token', $access_token); }
/** * QQ回调地址 * */ public function actionQq_callback() { require_once Yii::getPathOfAlias('ext') . "/OAuth/qq/qqConnectAPI.php"; $qc = new QC(); $access_token = $qc->qq_callback(); $openid = $qc->get_openid(); $qc = new QC($access_token, $openid); $user_info = $qc->get_user_info(); //查看是否已绑定 $bind = OAuthQQ::model()->findByPk($openid); //数据 $data = array('type' => 'qq', 'access_token' => $access_token, 'openid' => $openid, 'uid' => $bind ? $bind->uid : 0, 'username' => $user_info['nickname'], 'avatar' => $user_info['figureurl_2']); //绑定注册 $this->bind_register($bind, $data); }
function QQ_callback() { $cb_arr = array(); $qc = new QC(); $access_token = $qc->qq_callback(); //DE89B12F418C136D96F62898CBC4705E $openid = $qc->get_openid(); //B8C02925F80EE3B4462B86E7868DAC1D //echo $access_token; //echo $openid; $qc1 = new QC($access_token, $openid); $userinfo_arr = $qc1->get_user_info(); $nickname = $userinfo_arr["nickname"]; $cb_arr = array('access_token' => $access_token, 'openid' => $openid, 'nick' => $nickname); return $cb_arr; }
public function callback() { define('QQ_LOGIN_APPID', $this->config->get('qq_login_appid')); define('QQ_LOGIN_APPKEY', $this->config->get('qq_login_appkey')); define('QQ_CALLBACK_URI', HTTP_SERVER . 'catalog/controller/api/qq_callback.php'); require_once DIR_SYSTEM . 'library/qq/qqConnectAPI.php'; $qc = new QC(); $access_token = $qc->qq_callback(); $openid = $qc->get_openid(); $qui = new QC($access_token, $openid); $user_info = $qui->get_user_info(); $this->session->data['qq_nickname'] = $user_info['nickname']; $this->load->language('extension/module/qq_login'); $data['text_qq_login'] = $this->language->get('text_qq_login'); if (stristr($openid, 'error')) { echo $this->language->get('error_openid'); } elseif ($openid) { $this->session->data['qq_openid'] = $openid; if ($this->customer->login_qq($this->session->data['qq_openid'])) { unset($this->session->data['guest']); // Default Addresses $this->load->model('account/address'); if ($this->config->get('config_tax_customer') == 'payment') { $this->session->data['payment_address'] = $this->model_account_address->getAddress($this->customer->getAddressId()); } if ($this->config->get('config_tax_customer') == 'shipping') { $this->session->data['shipping_address'] = $this->model_account_address->getAddress($this->customer->getAddressId()); } $this->response->redirect($this->url->link('account/account', '', 'SSL')); } else { $this->session->data['qq_login_warning'] = sprintf($this->language->get('text_qq_login_warning'), $this->config->get('config_name')); $this->response->redirect($this->url->link('account/login', '', 'SSL')); } } else { echo $this->language->get('text_qq_fail'); } }
</head> <?php session_start(); function randusname($name) { $nickname = $name . '_' . rand(1000, 9999); return $nickname; } require_once "../../../include/conn.php"; require_once "../../../include/myfunction.php"; require_once "../API/qqConnectAPI.php"; require_once "../../../config.inc.php"; require_once "../../../uc_client/client.php"; $siteweb = GetSiteconfig(); $qc = new QC(); $qqcallback = $qc->qq_callback(); $qqid = $qc->get_openid(); $qc = new QC($qqcallback, $qqid); $arr = $qc->get_user_info(); if (!empty($qqcallback)) { $sql = "select * from user where qq_ua='{$qqid}'"; $result = mysql_query($sql); $count = mysql_num_rows($result); $usxx = mysql_fetch_assoc($result); if (!empty($_SESSION['usnamese']) && !empty($usxx['qq_ua'])) { echo "<script>location='/u'</script>"; exit; } if ($count) { if (time() > $usxx['Pingbi']) { $_SESSION['usnamese'] = $usxx['name'];
public function callback() { global_run(); require_once APP_ROOT_PATH . "system/api_login/qqv2/qqConnectAPI.php"; $qc = new QC(); $access_token = $qc->qq_callback(); $openid = $qc->get_openid(); $use_info_keysArr = array("access_token" => $access_token, "openid" => $openid, "oauth_consumer_key" => $this->api['config']['app_key']); $use_info_url = "https://graph.qq.com/user/get_user_info"; $graph_use_info_url = $qc->urlUtils->combineURL($use_info_url, $use_info_keysArr); $response = $qc->urlUtils->get_contents($graph_use_info_url); if ($response['ret'] != 0) { showErr("授权失败,错误信息:" . $response['msg']); die; } $response = json_decode($response, 1); $msg['field'] = 'qqv2_id'; $msg['id'] = $openid; $msg['name'] = $response["nickname"]; es_session::set("api_user_info", $msg); $user_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where qqv2_id = '" . $openid . "' and qqv2_id <> '' and is_effect=1 and is_delete=0"); $is_bind = intval(es_session::get("is_bind")); if ($user_data) { $GLOBALS['db']->query("update " . DB_PREFIX . "user set qq_token = '" . $access_token . "',login_ip = '" . CLIENT_IP . "',login_time= " . NOW_TIME . " where id =" . $user_data['id']); es_session::delete("api_user_info"); if ($is_bind) { if (intval($user_data['id']) != intval($GLOBALS['user_info']['id'])) { showErr("该帐号已经被别的会员绑定过,请直接用帐号登录", 0, url("index", "uc_account")); } else { require_once APP_ROOT_PATH . "system/model/user.php"; load_user($user_data['id'], true); es_session::set("user_info", $user_data); app_redirect(url("index", "uc_account")); } } else { require_once APP_ROOT_PATH . "system/model/user.php"; auto_do_login_user($user_data['user_name'], $user_data['user_pwd'], $from_cookie = false); app_redirect(url("index", "index")); } } elseif ($is_bind == 1 && $GLOBALS['user_info']) { //当有用户身份且要求绑定时 $GLOBALS['db']->query("update " . DB_PREFIX . "user set qqv2_id= '" . $msg['id'] . "', qq_token ='" . $access_token . "' where id =" . $GLOBALS['user_info']['id']); require_once APP_ROOT_PATH . "system/model/user.php"; load_user($GLOBALS['user_info']['id'], true); app_redirect(url("index", "uc_account")); } else { $user_info = $this->create_user(); require_once APP_ROOT_PATH . "system/model/user.php"; auto_do_login_user($user_info['user_name'], $user_info['user_pwd'], $from_cookie = false); app_redirect(url("index", "index")); } }
public function qq_sucsess() { session_start(); define('M_ROOT', dirname(dirname(__FILE__))); $ss = M_ROOT; $str = str_replace("\\", "/", $ss); include_once $str . "/API/qq/qqConnectAPI.php"; $qc = new \QC(); $atid = $qc->qq_callback(); $opid = $qc->get_openid(); $opid = (string) $opid; $state = I('state'); $_SESSION['state'] = $state; $qc = new \QC($atid, $opid); // 重新带参地new一次否则会丢失信息 $user_model = D('yuser'); $find = $user_model->field('uid,username,nickname,figureurl,userpic')->where(' openid=' . '"' . $opid . '"')->find(); if (empty($find)) { $info = $qc->__call('get_user_info'); } if (!empty($info)) { $data = array('username' => $info['nickname'], 'nickname' => $info['nickname'], 'sex' => $info['gender'], 'province' => $info['province'], 'city' => $info['city'], 'year' => $info['year'], 'figureurl' => $info['figureurl_qq_2'], 'openid' => $opid, 'tokenid' => $atid, 'addtime' => date('Y-m-d H:i:s'), 'loginip' => get_client_ip(), 'status' => 1); if ($id = $user_model->add($data)) { $user = $user_model->field('uid,username,figureurl,userpic')->where('uid=' . $id)->find(); $picName = $find['userpic']; $picInfo = pathinfo($picName); $find['userpic'] = $picInfo['filename'] . '70.' . $picInfo['extension']; $_SESSION['user'] = $user; $this->redirect('/Index', '登录成功,正在跳转到首页', 0); } } else { $picName = $find['userpic']; $picInfo = pathinfo($picName); $find['userpic'] = $picInfo['filename'] . '70.' . $picInfo['extension']; $qiandao = $user_model->getQiandao($find['uid']); $find['qiandao'] = $qiandao; $data = array('lastlogin' => date('Y-m-d H:i:s', time()), 'uid' => session('user.uid')); $user_model->save($data); $_SESSION['user'] = $find; $this->redirect('/Index', '登录成功,正在跳转到首页', 0); } }
/** * qq登陆回调 * @return void */ public function qqCallback() { require_once APP_DIR . "vendors/auth/qq/API/qqConnectAPI.php"; $qc = new \QC(); $token = $qc->qq_callback(); $openid = $qc->get_openid(); if (!$openid || !$token) { return; } //授权之后的操作,默认是登录 $auth_action = $this->input->cookie('auth_action'); if ($auth_action) { //清楚此临时cookie $this->output->cookie(['auth_action' => ''], 0); } else { $auth_action = 'login'; } //得到第三方账户对应的数据库账户 $account = $this->related_account->one($openid); if ($auth_action == 'login') { if ($account) { // 在登录前转移数据 $this->transferData($account->uid); $this->model('passport')->login($account->uid, 'password'); $this->output->view('passport/qq', ['uid' => $account->uid]); } else { $qc = new \QC($token, $openid); $userinfo = $qc->get_user_info(); //判断nickname是否存在 if ($this->user->isNicknameExist($userinfo['nickname'])) { $userinfo['nickname'] = $userinfo['nickname'] . '_' . substr(md5(time()), 0, 2); } $data = ['with_openid' => 1, 'nickname' => $userinfo['nickname'], 'created' => time(), 'modified' => time(), 'login_ip' => ip2long($this->input->ip())]; $uid = $this->user->insert($data); if ($uid) { $this->user_config->insert(['uid' => $uid]); // 添加默认标签 $this->tag->addDefaultTags($uid); // 转移数据 $this->transferData($account->uid); } //头像放入队列获取 $this->redis('queue')->lPush('queue:avatar:download', "{$uid}|{$userinfo['figureurl_qq_2']}"); if ($uid) { if ($this->related_account->insert(['uid' => $uid, 'app_uid' => $openid, 'app_id' => $this->config->logintype['qq'], 'access_token' => $token])) { $this->model('passport')->login($uid, 'password'); $this->output->view('passport/qq', ['uid' => $uid]); } else { echo 'login error'; } } else { echo 'login error'; } } } else { if ($auth_action == 'bind') { //得到当前用户 $uid = $this->passport->getAuthenticatedUid(); //用户未登录 if (!$uid) { $this->output->view('passport/bind_failed', ['message' => "请您先登录", 'app' => 'qq']); exit; } //检测当前登录用户是否已经绑定了qq账号,如果绑定了则要求解绑 $result = $this->related_account->select(['where' => ['uid' => $uid]]); if ($result && $result[0] && $result[0]->app_id == $this->config->logintype['qq']) { //已经绑定qq if ($result[0]->app_uid == $openid) { $this->output->view('passport/bind_failed', ['message' => "您已经绑定此QQ账号,无需再次绑定", 'app' => 'qq']); } else { $this->output->view('passport/bind_failed', ['message' => "您已经绑定其他QQ账号,请先解绑,然后绑定新的QQ账号", 'app' => 'qq']); } exit; } //绑定QQ账户 if ($account) { //如果此账户已经在数据库中存在关联, $user = $this->user->one($account->uid); //如果此qq账号已经绑定邮箱 if ($user->mail) { $this->output->view('passport/bind_failed', ['message' => "此账户已经与另一账号绑定,请先解绑另一账户", 'app' => 'qq']); exit; } else { //将第三方关联到当前用户, if ($this->related_account->update(['uid' => $uid, 'access_token' => $token], ['app_uid' => $openid, 'uid' => $account->uid, 'app_id' => $this->config->logintype['qq']])) { //转移数据(贴纸,标签,图片,书签)到当前用户 $from = $account->uid; $to = $uid; $this->user->mergeUserData($from, $to); //成功页面 $this->output->view('passport/bind_success', ['app' => 'qq']); } else { $this->output->view('passport/bind_failed', ['message' => '关联失败', 'app' => 'qq']); } } } else { if ($this->related_account->insert(['uid' => $uid, 'app_uid' => $openid, 'app_id' => $this->config->logintype['qq'], 'access_token' => $token])) { //成功页面 $this->output->view('passport/bind_success', ['app' => 'qq']); } else { $this->output->view('passport/bind_failed', ['message' => '关联失败', 'app' => 'qq']); exit; } } } } }
public function index() { //phpinfo(); //点击QQ登录 if (isset($_REQUEST['qq'])) { require_once "./Public/QQLogin/qqConnectAPI.php"; $qc = new QC(); $qc->qq_login(); die; } //QQ登录后返回处理 if (isset($_REQUEST['code'])) { require_once "./Public/QQLogin/qqConnectAPI.php"; $qc = new QC(); $acs = $qc->qq_callback(); $oid = $qc->get_openid(); $qq_open_id = $qc->get_openid(); echo $acs . "|" . $oid; $qc = new QC($acs, $oid); $qq_user = $qc->get_user_info(); //p($qq_user);die; $username = $qq_user['nickname']; $sex = $qq_user['gender'] == '男' ? 1 : 0; $face = $qq_user['figureurl_2']; //头像处理 /*获取网络图片太忙,展示考虑 $qq_face=$qq_user['figureurl_2']; $face=date("Y_m")."/".time().".jpg"; $path="./Uploads/face/".date("Y_m"); $file="./Uploads/face/".$face; //p($file);die; if(!file_exists($path)){ //检测变量中的文件夹是否存在,如果存在,删除 mkdir($path,0777); //创建文件夹 } $qq_face=file_get_contents($qq_face); file_put_contents($file, $qq_face);*/ $user = M('user')->where(array('qq_open_id' => $qq_open_id))->find(); if (!$user) { //第一次登录,保存用户信息 $data = array('qq_open_id' => $qq_open_id, 'username' => $username, 'sex' => $sex, 'face' => $face, 'description' => $this->_post('description'), 'register_time' => time()); //p($data);die; $user_id = M('user')->add($data); if ($user_id) { session('user_id', $user_id); session('username', $username); redirect(U('Index/index')); die; } else { redirect(U('Index/index')); die; } } else { //以前登录过 if ($user['lock'] > time()) { $this->error('您已被锁定,请过段时间在试。。。'); die; } session('user_id', $user['user_id']); session('username', $user['username']); redirect(U('Index/index')); } die; } if (isset($_SESSION['user_id'])) { redirect(U('Index/index')); die; } if (!$this->isPost()) { $this->display(); die; } $username = $this->_post('username'); $password = $this->_post('password', 'md5'); $where = array('username' => $username); $user = M('user')->where($where)->find(); p($username); p($password); //p($user);die; if ($user['lock'] == 1) { $this->error("您已被锁定,请过段时间在试。。。"); } if (!$user || $user['password'] != $password) { $this->error("用户名或者密码错误!~_~"); } session('user_id', $user['user_id']); session('username', $user['username']); redirect(__APP__); }
function login_by_qq() { include INCLUDES_PATH . 'qqapi/qqConnectAPI.php'; global $_db, $_cache, $_user; $qc = new QC(); $access_token = $qc->qq_callback(); $qq_uid = $qc->get_openid(); if ($qq_uid) { $_user = user::get_one(array('qq_uid' => $qq_uid)); $user_id = $_user->user_id; $qc = new QC($access_token, $qq_uid); $user_info = $qc->get_user_info(); //获取用户等基本信息 if (!$user_id) { $user_id = user::register(array('screen_name' => $user_info['nickname'], 'qq_uid' => $qq_uid, 'avatar_url' => $user_info['figureurl_qq_1'])); $_user = user::get_one(array('user_id' => $user_id)); $res = 'new_user'; } else { $res = $_user; } $_SESSION['uid'] = $user_id; //set_cookie('uid',$user_id); return $res; } else { //授权失败 } return false; }
<?php session_start(); include_once '../../config.php'; $site = get_site(__DIR__); define('SITE_PATH', $site); include_once CONFIG_PATH . '/' . $site . PHP_EXT; include_once QQ_PATH . '/qqConnectAPI.php'; $Mac_ID = $_SESSION['Mac_ID']; $qc = new QC(); $acs = $qc->qq_callback(); $oid = $qc->get_openid(); $qc = new QC($acs, $oid); $user = $qc->get_user_info(); $idol = array('name' => QQ_ADD_IDOL_BY_NAME); $content = array('content' => QQ_SEND_WEIBO_MESSAGE); $idol_ret = $qc->add_idol($idol); $content_ret = $qc->add_t($content); UniFi::set_site($site); UniFi::sendAuthorization($Mac_ID, WIFI_EXPIRED_TIME); sleep(5); header('Location: ' . DEFAULT_URL);
<?php //定义根目录边变量 // define("ROOT_PATH", dirname(__DIR__)."/"); //配置文件 require_once "game.php"; require_once "../connect2.1/API/qqConnectAPI.php"; // 初始化 $game = new game(); $qq = new QC(); // 获取第三方信息(QQ) $key = $qq->qq_callback(); $uid = $qq->get_openid(); $user_info = $game->userBe($key); //'20746446B01F671246B702364E5750C6' // 判断是否有此用户的记录,没有则新添加 if (!$user_info) { $game->userAdd($key, $uid); } $CName = "ux73.com/game"; // if ( isset($_cookie[$CName]) ) { // $uid = $_cookie[$CName]; // } else { setcookie($CName, $uid, time() + 24 * 30 * 3600, "/"); //存入本地缓存 - 有效时间 1 天 // } echo $_cookie[$CName]; // print_r($user_info); // 关闭当前界面 // echo '<script type="text/javascript"> window.close(); </script>'; // echo $qq->qq_callback();
<?php defined('IN_TS') or die('Access Denied.'); require_once "API/qqConnectAPI.php"; $qc = new QC(); $access_token = $qc->qq_callback(); $openid = $qc->get_openid(); $qc = new QC($access_token, $openid); //$qc->get_user_info(); //////////////////////////////////////////////////////////////////////// /*ThinkSAAS开始*/ if ($openid) { $strOpen = $new['pubs']->find('user_open', array('sitename' => 'qq', 'openid' => $openid)); $new['pubs']->update('user_open', array('sitename' => 'qq', 'openid' => $openid), array('access_token' => $access_token, 'uptime' => time())); if ($strOpen['userid']) { $userData = $new['pubs']->find('user_info', array('userid' => $strOpen['userid']), 'userid,username,path,face,isadmin,signin,uptime'); //更新登录时间 $new['pubs']->update('user_info', array('userid' => $strOpen['userid']), array('ip' => getIp(), 'uptime' => time())); $_SESSION['tsuser'] = $userData; header("Location: " . SITE_URL); exit; } else { //获取用户基本资料 $arrUserInfo = $qc->get_user_info(); //$arrWeiboInfo = $qc->get_info(); //print_r($arrWeiboInfo);exit; /* Array ( [ret] => 0 [msg] =>
<?php require_once "../API/qqConnectAPI.php"; require_once dirname(__FILE__) . "/../../../inc/common.inc.php"; $qc = new QC(); $admin = ck_login('uin', 'skey', true, true); $db->update('user', array('qqtk' => $qc->qq_callback() . $qc->get_openid()), 'id=' . $admin['0']); echo "绑定成功";
<?php require_once "../API/qqConnectAPI.php"; //require_once("../../Application/User/Api/UserApi.class.php"); $qc = new QC(); echo $qc->qq_callback() . '---'; $openid = $qc->get_openid(); echo $openid; /* 调用注册接口注册用户 */ //$User = new UserApi; //var_dump($user); //$uid = $User->QQregister($openid); //echo $uid;
/** * Action:OAuth 2.0 QQ * @return Response */ public function getOauthQQ() { include_once app_path('api/qq/qqConnectAPI.php'); $qc = new QC(); $callback = $qc->qq_callback(); $openid = $qc->get_openid(); $qc = new QC($callback, $openid); $access_token = $qc->get_access_token(); $arr = $qc->get_user_info(); $nickname = $arr["nickname"]; $credentials = array('email' => $openid, 'password' => $access_token); if (Auth::attempt($credentials)) { // Signin success, redirect to the previous page that was blocked return Redirect::intended(); } else { $user = new User(); $user->email = $openid; $user->password = $access_token; $user->nickname = $nickname; $user->bound_type = '3'; $user->activated_at = date('Y-m-d H:m:s'); $user->save(); return View::make('authority.oauthQQ'); } }
/** * 腾讯微博分享 */ function tencent() { $this->type = 'QQ'; $this->getConfig(); vendor('qq.qq'); $QC = new \QC(); $QC->recorder->write("appid", $this->AppKey); $QC->recorder->write("appkey", $this->AppSecret); $QC->recorder->write("callback", 'http://' . $_SERVER['HTTP_HOST'] . "/Api/Share/tencent"); $QC->reInit(); //由于qq互联奇葩的回调地址规则,必须要完整的回调地址并且不能带有参数 //所以将参数以session的形式存储 //作者按:腾讯你个sb if ($_REQUEST['picurl']) { session("share_picurl", $_REQUEST['picurl']); } if ($_REQUEST['sharecomment']) { session("share_sharecomment", $_REQUEST['sharecomment']); } if ($_GET['table']) { session("share_table", $this->table); } if ($_GET['id']) { session("share_id", $this->id); } //============================================== if (empty($QC->recorder->read("access_token")) || empty($QC->recorder->read("openid"))) { if ($_GET['code']) { //已获得code $QC->qq_callback(); $QC->get_openid(); $QC->reInit(); $_FILES['pic'] = "@." . session("share_picurl"); $_POST['content'] = session("share_sharecomment") . "http://" . $_SERVER['HTTP_HOST'] . "/Portal/" . session("share_table") . "/info/id/" . session("share_id"); $ret = $QC->add_pic_t($_POST); if ($ret['ret'] == 0) { $this->table = session("share_table"); $this->id = session("share_id"); $this->share(); } else { alert("发表失败"); } } else { //获取授权code $QC->qq_login(); } } else { $_FILES['pic'] = "@." . session("share_picurl"); $_POST['content'] = session("share_sharecomment"); $ret = $QC->add_pic_t($_POST); if ($ret['ret'] == 0) { $this->share(); } else { alert("发表失败"); } } }
public function qqcallback() { $this->load->model('user'); $this->load->model('user_openid'); require_once APPPATH . "libraries/QQAPI/qqConnectAPI.php"; $qc = new QC(); $access_token = $qc->qq_callback(); $openid = $qc->get_openid(); $useropenid = $this->user_openid->get_by_openid($openid); if (isset($useropenid->user_id) && $useropenid->user_id > 0) { $this->user_openid->update(array('token' => $access_token['access_token'], 'expires' => local_to_gmt() + $access_token['expires_in'], 'refresh_token' => $access_token['refresh_token']), $useropenid->id); $user = $this->user->get($useropenid->user_id); $login_time = local_to_gmt(); $update_row['last_login_time'] = $login_time; $update_row['last_login_ip'] = $this->input->ip_address(); //自动保留登录15天 $this->auth->set_auto_login($user->username, $user->password); if (isset($_COOKIE['lms_logout_url'])) { $url = $_COOKIE['lms_logout_url']; setcookie('lms_logout_url', '', time() - 3600, '/'); } else { $url = base_url(); } $this->user->update($update_row, $user->id); //保存session $this->auth->save_login($user); redirect($url); } else { if (!$useropenid) { if ($this->user_openid->insert(array('name' => 'qq', 'token' => $access_token['access_token'], 'openid' => $openid, 'create_time' => local_to_gmt(), 'expires' => local_to_gmt() + $access_token['expires_in'], 'refresh_token' => $access_token['refresh_token']))) { redirect('register/openid/' . $openid); } else { redirect('login/error/login_error'); } } else { redirect('register/openid/' . $openid); } } }
public function index() { //点击QQ登录 if (isset($_REQUEST['qq'])) { require_once "./Public/QQLogin/qqConnectAPI.php"; $qc = new QC(); $qc->qq_login(); die; } //QQ登录后返回处理 if (isset($_REQUEST['code'])) { require_once "./Public/QQLogin/qqConnectAPI.php"; $qc = new QC(); $acs = $qc->qq_callback(); $oid = $qc->get_openid(); $qc = new QC($acs, $oid); $qq_user = $qc->get_user_info(); //p($user);die; $qq_open_id = $qc->get_openid(); $username = $qq_user['nickname']; $sex = $qq_user['gender'] == '男' ? 1 : 0; $user = M('user')->where(array('qq_open_id' => $qq_open_id))->find(); if (!$user) { //第一次登录,保存用户信息 $data = array('qq_open_id' => $qq_open_id, 'username' => $username, 'sex' => $sex, 'description' => $this->_post('description'), 'register_time' => time()); //p($data);die; $user_id = M('user')->add($data); if ($user_id) { session('user_id', $user_id); session('username', $this->_post('username')); redirect(U('Index/index')); die; } else { redirect(U('Index/index')); die; } } else { //以前登录过 if ($user['lock'] > time()) { $this->error('您已被锁定,请过段时间在试。。。'); die; } session('user_id', $user['user_id']); session('username', $user['username']); redirect(U('Index/index')); } die; } if (isset($_SESSION['user_id'])) { redirect(U('Index/index')); die; } if (!$this->isPost()) { $this->display(); die; } $username = $this->_post('username'); $password = $this->_post('password', 'md5'); $where = array('username' => $username); $user = M('user')->where($where)->find(); p($username); p($password); //p($user);die; if ($user['lock'] == 1) { $this->error("您已被锁定,请过段时间在试。。。"); } if (!$user || $user['password'] != $password) { $this->error("用户名或者密码错误!~_~"); } session('user_id', $user['user_id']); session('username', $user['username']); redirect(__APP__); }
/** * qq登录模块实现 */ require_once "../../config.php"; require_once "../../lib/global.func.php"; require_once "../../lib/cache.class.php"; require_once "../../lib/db.class.php"; require_once "./API/qqConnectAPI.php"; define('TIPASK_ROOT', substr(dirname(__FILE__), 0, -15)); define(SITE_URL, 'http://' . $_SERVER['HTTP_HOST'] . substr($_SERVER['PHP_SELF'], 0, -27)); $db = new db(DB_HOST, DB_USER, DB_PW, DB_NAME, DB_CHARSET, DB_CONNECT); $cache = new cache($db); $setting = $cache->load('setting'); $qc = new QC(); $token = $qc->qq_callback(); $openid = $qc->get_openid(); $qc = new QC($token, $openid); $sid = tcookie('sid'); $auth = tcookie('auth'); $user = array(); list($uid, $password) = empty($auth) ? array(0, 0) : taddslashes(explode("\t", authcode($auth, 'DECODE')), 1); $user = array(); if ($uid && $password) { $user = get_user($uid); if ($password != $user['password']) { $user = array(); } } if (!$user) { $user = get_by_openid($openid);
<?php require_once "../../API/qqConnectAPI.php"; $qc = new QC(); $qc->qq_login(); echo $qc->qq_callback(); echo $qc->get_openid();
public function callback() { es_session::start(); require_once APP_ROOT_PATH . "system/api_login/qqv2/qqConnectAPI.php"; $qc = new QC(); $access_token = $qc->qq_callback(); $openid = $qc->get_openid(); $use_info_keysArr = array("access_token" => $access_token, "openid" => $openid, "oauth_consumer_key" => $this->api['config']['app_key']); $use_info_url = "https://graph.qq.com/user/get_user_info"; $graph_use_info_url = $qc->urlUtils->combineURL($use_info_url, $use_info_keysArr); $response = $qc->urlUtils->get_contents($graph_use_info_url); if ($response['ret'] != 0) { showErr("授权失败,错误信息:" . $response['msg']); die; } $msg = json_decode($response, 1); //file_put_contents(APP_ROOT_PATH."/public/qqv2_user_info.php",print_r($msg,1)); //name,province,city,avatar,token,field,token_field(授权的字段),sex $api_data['id'] = $openid; $api_data['field'] = 'qq_id'; $api_data['token'] = $access_token; $api_data['token_field'] = "qq_token"; $api_data['name'] = $msg['nickname']; $api_data['province'] = $msg['province']; $api_data['city'] = $msg['city']; $api_data['avatar'] = $msg['figureurl_2']; //100*100 if ($msg['gender'] == '女') { $api_data['sex'] = 0; } else { if ($msg['gender'] == '男') { $api_data['sex'] = 1; } else { $api_data['sex'] = -1; } } if ($api_data['id'] != "") { es_session::set("api_user_info", $api_data); } $user_data = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "user where qq_id = '" . $openid . "' and qq_id <> '' and is_effect=1"); if ($user_data) { es_session::delete("api_user_info"); $GLOBALS['db']->query("update " . DB_PREFIX . "user set qq_token = '" . $api_data['token'] . "',login_ip = '" . get_client_ip() . "',login_time= " . get_gmtime() . " where id =" . $user_data['id']); es_session::set("user_info", $user_data); app_redirect_preview(); } else { if ($GLOBALS['user_info']) { $GLOBALS['db']->query("update " . DB_PREFIX . "user set qq_token = '" . $api_data['id'] . "',qq_token = '" . $api_data['token'] . "' where id =" . intval($GLOBALS['user_info']['id'])); app_redirect(url("settings#bind")); } else { app_redirect(url("user#api_register")); } } }