function showUser($keys = array()) { $qq_user = QQOauth\get_user_info($this->appid, $this->secid, $keys['oauth_token'], $keys['oauth_token_secret'], $keys['openid']); if ($qq_user && $qq_user['ret'] == 0) { $_keys = DengLuTong::getKeys(); $user = array('id' => $_keys['openid'], 'name' => $qq_user['nickname'], 'screen_name' => $qq_user['nickname'], 'desc' => '', 'url' => '', 'img' => $qq_user['figureurl_1'], 'gender' => '', 'email' => '', 'location' => ''); return $user; } return FALSE; }
/** * 登录过程 * @param string $vendor 服务商 * @param array $args */ function callback($vendor, $args = array()) { $keys = DengLuTong::getKeys(); $args = array(); //各服务商返回的参数各不相同,故统一处理。 !empty($keys['oauth_token_secret']) ? $args['oauth_token_secret'] = $keys['oauth_token_secret'] : ''; isset($_GET['oauth_token']) ? $args['oauth_token'] = $_GET['oauth_token'] : ''; isset($_GET['oauth_verifier']) ? $args['oauth_verifier'] = $_GET['oauth_verifier'] : ''; isset($_GET['openid']) ? $args['openid'] = $_GET['openid'] : ''; isset($_GET['oauth_vericode']) ? $args['oauth_vericode'] = $_GET['oauth_vericode'] : ''; isset($_GET['code']) ? $args['code'] = $_GET['code'] : ''; // $args=array ( // 'oauth_token' => isset( $_GET['oauth_token'] ) ? $_GET['oauth_token'] : '' , // 'oauth_token_secret' => !empty($keys['oauth_token_secret'])?$keys['oauth_token_secret']:'', // 'oauth_verifier' => isset( $_GET['oauth_verifier'] ) ? $_GET['oauth_verifier'] : '', // 'openid' => isset( $_GET['openid'] ) ? $_GET['openid'] : '' , // 'oauth_vericode' => isset( $_GET['oauth_vericode'] ) ? $_GET['oauth_vericode'] : '' , // 'code' => isset( $_GET['code'] ) ? $_GET['code'] : '' , // ); if ($args) { $user = $this->vendor->login($args); if ($user) { $user['vendor'] = $vendor; $this->setUser($user); } return $user; } else { return FALSE; } }
/** * 保存第三方信息 * @param string $uid 本地用户ID */ function processBind($uid) { if (!$uid) { return FALSE; } $user = DengLuTong::getUser(); $user['dlt_user_id'] = $user['id']; unset($user['id']); $user['user_id'] = $uid; $user['keys'] = serialize(DengLuTong::getKeys()); $user['name'] = addslashes(trim($user['name'])); $user['screen_name'] = addslashes(trim($user['screen_name'])); $user['desc'] = addslashes(trim($user['desc'])); $lastid = $this->db->insert($this->dbconfig['tablename'], $user); if ($lastid) { DengLuTong::clearSession(); $this->success(); } else { $this->error(); } }