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 ダンプしてUID、、、AuthTokenおよびAuthTokenSecret

ただし、Twitter 側で [Authorize] をクリックすると、次のページに戻ります。

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');  
} 

ただし、$_SESSION を var ダンプしてもセッション ID しか得られないため、セッションが破棄されたか、新しいセッションが開始されました。

4

1 に答える 1