41 lines
1.5 KiB
PHP
41 lines
1.5 KiB
PHP
<?php
|
|
/**
|
|
* @file
|
|
* Take the user when they return from Twitter. Get access tokens.
|
|
* Verify credentials and redirect to based on response from Twitter.
|
|
*/
|
|
|
|
/* Start session and load lib */
|
|
session_start();
|
|
require_once('twitteroauth/twitteroauth.php');
|
|
require_once('config.php');
|
|
|
|
/* If the oauth_token is old redirect to the connect page. */
|
|
if (isset($_REQUEST['oauth_token']) && $_SESSION['oauth_token'] !== $_REQUEST['oauth_token']) {
|
|
$_SESSION['oauth_status'] = 'oldtoken';
|
|
header('Location: ./clearsessions.php');
|
|
}
|
|
|
|
/* Create TwitteroAuth object with app key/secret and token key/secret from default phase */
|
|
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
|
|
|
|
/* Request access tokens from twitter */
|
|
$access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']);
|
|
|
|
/* Save the access tokens. Normally these would be saved in a database for future use. */
|
|
$_SESSION['access_token'] = $access_token;
|
|
|
|
/* Remove no longer needed request tokens */
|
|
unset($_SESSION['oauth_token']);
|
|
unset($_SESSION['oauth_token_secret']);
|
|
|
|
/* If HTTP response is 200 continue otherwise send to connect page to retry */
|
|
if (200 == $connection->http_code) {
|
|
/* The user has been verified and the access tokens can be saved for future use */
|
|
$_SESSION['status'] = 'verified';
|
|
header('Location: ./index.php');
|
|
} else {
|
|
/* Save HTTP status for error dialog on connnect page.*/
|
|
header('Location: ./clearsessions.php');
|
|
}
|