Session disappearing


I am using Abraham William’s Twitter oAuth library.

Following is my code:

if (isset($_REQUEST['oauth_token'])){
/* 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>";
    /* Show notification if something went wrong. */
    echo 'Could not connect to Twitter. Refresh the page or try again later.';

It works up to here, but then as I am diverted to the authorize URL, the $_SESSION is gone. I tested this by printing the session following the divert, and it’s blank. Why is my session disappearing?