2016-09-18 6 views
0

Ich frage mich, ob Twitter einen API-Endpunkt hat, der ein abgelaufenes Access-Token mit einem aktiven austauscht. Die Art und Weise, in der ich den Login-Flow habe, funktioniert jetzt in etwa so.Refresh Token mit Twitter API

// Request a token and redirect to the authorization page 
$token = $this->twitter->getRequestToken(); 

// Set the session data 
$this->session->set_userdata('oauth_token', $token['oauth_token']); 
$this->session->set_userdata('oauth_token_secret', $token['oauth_token_secret']); 

// Redirect the user to the authorization page 
header('Location: https://api.twitter.com/oauth/authorize?oauth_token='.$token['oauth_token']); 

Die Seite, die der Benutzer den Benutzer umgeleitet werden aufgefordert, meine App jedes Mal, wenn sie einen gültigen Zugriffstoken autorisieren möchten. Nach dem Akzeptieren der Autorisierung wird der Benutzer zur Rückruf-URL weitergeleitet. Bei meinem Rückruf-URL geschieht folgendes

// Get the parameters from the URL 
$token = $this->input->get('oauth_token'); 
$verifier = $this->input->get('oauth_verifier'); 

$oauthToken = $this->session->oauth_token; 
$oauthSecret = $this->session->oauth_token_secret; 

// Get the access token 
$access = $this->twitter->getAccessToken($verifier, $oauthToken, $oauthSecret); 

Gibt es eine solche Art und Weise für ein Zugriffstoken existieren, ohne generiert werden meine Anwendung jedes Mal zu genehmigen?

Antwort

0

Gemäß Twitter's OAuth FAQ verfallen Tokens nur, wenn ein Benutzer Ihre Anwendung explizit ablehnt oder ein Administrator Ihre Anwendung aussetzt.

Wenn Sie möchten, dass sich Ihre Benutzer wiederholt anmelden können, ohne erneut autorisieren zu müssen, müssen Sie einen Mechanismus zum Speichern der Tokens (Cookies, Datenbank usw.) entwickeln.