我正在使用亚伯拉罕威廉的推特oAuth库。会话正在消失
以下是我的代码:
if (isset($_REQUEST['oauth_token'])){
print_r($_SESSION);
exit;
}
/* Build TwitterOAuth object with client credentials. */
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);
/* Get temporary credentials. */
$request_token = $connection->getRequestToken(OAUTH_CALLBACK);
/* Save temporary credentials to session. */
$_SESSION['oauth_token'] = $token = $request_token['oauth_token'];
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];
/* If last connection failed don't display authorization link. */
switch ($connection->http_code) {
case 200:
/* Build authorize URL and redirect user to Twitter. */
$url = $connection->getAuthorizeURL($token);
print "<script>self.location='$url';</script>";
break;
default:
/* Show notification if something went wrong. */
echo 'Could not connect to Twitter. Refresh the page or try again later.';
return;
}
如果我重定向前右侧检查了$ _SESSION,$ _SESSION是存在的。发生重定向时,设置$ _REQUEST ['oauth_token'](我对此进行了验证),但$ _SESSION不再存在。
我的浏览器已设置为接受Cookie和第三方Cookie。有任何想法吗?
Wheres'session_start()'? –
我打电话给我的库处理这个问题。在我的问题中,我提到在re-direct之前我正在测试$ _SESSION,并且直到那时代码设置的$ _SESSION和$ _SESSION变量都在那里。 – EastsideDeveloper
为什么会有人降级我的问题?我使用特定的库标记清楚地将其标识为Twitter OAuth问题。 – EastsideDeveloper