require dirname(__DIR__) . '/vendor/autoload.php'; // Autoload files using Composer autoload use j3j5\TwitterApio; session_start(); $api = new TwitterApio(); $current_url = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $current_url = mb_substr($current_url, 0, mb_strpos($current_url, '?') - 1); if (isset($_REQUEST['function'])) { if ($_REQUEST['function'] == 'login') { // your SIGN IN WITH TWITTER button should point to this route $sign_in_twitter = TRUE; $force_login = FALSE; $callback_url = $current_url . '?function=callback'; // Make sure we make this request w/o tokens, overwrite the default values in case of login. $api->reconfigure(array('token' => '', 'secret' => '')); $token = $api->get_request_token($callback_url); if (isset($token['oauth_token_secret'])) { $url = $api->get_authorize_url($token, $sign_in_twitter, $force_login); $_SESSION['oauth_state'] = 'start'; $_SESSION['oauth_request_token'] = $token['oauth_token']; $_SESSION['oauth_request_token_secret'] = $token['oauth_token_secret']; header("Location: {$url}"); exit; } header("Location: {$current_url}?function=error"); exit; } else { if ($_REQUEST['function'] == 'callback') { // You should set this route on your Twitter Application settings as the callback // https://apps.twitter.com/app/YOUR-APP-ID/settings