2013-08-02 25 views
0

我有一個用戶系統,我在其中存儲用戶ID $_SESSION['uid']和用戶可以瀏覽他的帳戶設置,但是我最近添加了能夠鏈接您的Twitter帳戶...這是奇怪的地方。會話不在頭後重新指定

我有一個Twitter請求頁面,如下所示:

session_start(); 
require("twitteroauth/twitteroauth.php"); 

// The TwitterOAuth instance 
$twitteroauth = new TwitterOAuth('***', '***'); 
// Requesting authentication tokens, the parameter is the URL we will be redirected to 
$request_token = $twitteroauth->getRequestToken('http://livepierced.com/reg_twit.php'); 

// Saving them into the session 
$_SESSION['oauth_token'] = $request_token['oauth_token']; 
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret']; 

// If everything goes well.. 
if($twitteroauth->http_code==200){ 
    // Let's generate the URL and redirect 
    $url = $twitteroauth->getAuthorizeURL($request_token['oauth_token']); 
    //var_dump($url); 
    header('Location: '. $url); 
} else { 
    // It's a bad idea to kill the script, but we've got to know when there's an error. 
    //die('Something wrong happened.'); 
} 

我可以VAR傾倒在這一點上的會話,並獲得了UIDAuthToken,並AuthTokenSecret

但是一旦我點擊授權Twitter的側面我送回此頁:

session_start(); 
require("twitteroauth/twitteroauth.php"); 
if(!empty($_GET['oauth_verifier']) && !empty($_SESSION['oauth_token']) && !empty($_SESSION['oauth_token_secret'])){ 
    // We've got everything we need 
    echo "<h1>TOKEN GOOD BRO!</h1>"; 

} else { 
    // Something's missing, go back to square 1 
    //var_dump($_REQUEST); 
    //header('Location: req_twit.php'); 
} 

不過,現在我的會話醚被破壞,或HA s開始了一個新的會話,因爲var轉儲$ _SESSION只給了我一個會話ID

回答

0

當頭重定向發生時,它改變到一個不同的網址或子域?例如,你是從mywebsite.com開始,最終在www.mywebsite.com?

我從來沒有使用Twitter的API,但這是我的第一個想法。