diff options
Diffstat (limited to 'controllers/auth.php')
-rw-r--r-- | controllers/auth.php | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/controllers/auth.php b/controllers/auth.php index 50fd15b..9dcc81d 100644 --- a/controllers/auth.php +++ b/controllers/auth.php @@ -1,5 +1,4 @@ <?php -use Abraham\TwitterOAuth\TwitterOAuth; IndieAuth\Client::$clientID = Config::$base_url; IndieAuth\Client::$redirectURL = Config::$base_url.'auth/callback'; @@ -249,107 +248,4 @@ $app->post('/auth/reset', function() use($app) { $app->redirect('/', 302); }); -$app->post('/auth/twitter', function() use($app) { - if(!Config::$twitterClientID) { - $app->response()['Content-type'] = 'application/json'; - $app->response()->body(json_encode(array( - 'result' => 'error' - ))); - return; - } - - if($user=require_login($app, false)) { - $params = $app->request()->params(); - // User just auth'd with twitter, store the access token - $user->twitter_access_token = $params['twitter_token']; - $user->twitter_token_secret = $params['twitter_secret']; - $user->save(); - - $app->response()['Content-type'] = 'application/json'; - $app->response()->body(json_encode(array( - 'result' => 'ok' - ))); - } else { - $app->response()['Content-type'] = 'application/json'; - $app->response()->body(json_encode(array( - 'result' => 'error' - ))); - } -}); - -function getTwitterLoginURL(&$twitter) { - $request_token = $twitter->oauth('oauth/request_token', [ - 'oauth_callback' => Config::$base_url . 'auth/twitter/callback' - ]); - $_SESSION['twitter_auth'] = $request_token; - return $twitter->url('oauth/authorize', ['oauth_token' => $request_token['oauth_token']]); -} - -$app->get('/auth/twitter', function() use($app) { - if(!Config::$twitterClientID) { - $app->response()['Content-type'] = 'application/json'; - $app->response()->body(json_encode(array( - 'result' => 'error' - ))); - return; - } - - $params = $app->request()->params(); - if($user=require_login($app, false)) { - - // If there is an existing Twitter token, check if it is valid - // Otherwise, generate a Twitter login link - $twitter_login_url = false; - if(array_key_exists('login', $params)) { - $twitter = new TwitterOAuth(Config::$twitterClientID, Config::$twitterClientSecret); - $twitter_login_url = getTwitterLoginURL($twitter); - } else { - $twitter = new TwitterOAuth(Config::$twitterClientID, Config::$twitterClientSecret, - $user->twitter_access_token, $user->twitter_token_secret); - - if($user->twitter_access_token) { - if($twitter->get('account/verify_credentials')) { - $app->response()['Content-type'] = 'application/json'; - $app->response()->body(json_encode(array( - 'result' => 'ok' - ))); - return; - } else { - // If the existing twitter token is not valid, generate a login link - $twitter_login_url = getTwitterLoginURL($twitter); - } - } else { - $twitter_login_url = getTwitterLoginURL($twitter); - } - } - - $app->response()['Content-type'] = 'application/json'; - $app->response()->body(json_encode(array( - 'url' => $twitter_login_url - ))); - - } else { - $app->response()['Content-type'] = 'application/json'; - $app->response()->body(json_encode(array( - 'result' => 'error' - ))); - } -}); - -$app->get('/auth/twitter/callback', function() use($app) { - if($user=require_login($app)) { - $params = $app->request()->params(); - - $twitter = new TwitterOAuth(Config::$twitterClientID, Config::$twitterClientSecret, - $_SESSION['twitter_auth']['oauth_token'], $_SESSION['twitter_auth']['oauth_token_secret']); - $credentials = $twitter->oauth('oauth/access_token', ['oauth_verifier' => $params['oauth_verifier']]); - - $user->twitter_access_token = $credentials['oauth_token']; - $user->twitter_token_secret = $credentials['oauth_token_secret']; - $user->twitter_username = $credentials['screen_name']; - $user->save(); - - $app->redirect('/settings'); - } -}); |