Wie Sie OAuth zur Autorisierung verwenden
Kommentare

Schritt 1: Anforderung der Temporary Credentials
Als Erstes müssen die Temporary Credentials bei Twitter angefordert werden. Das passiert im Skript redirect.php, in dem zuerst ein neues TwitterOAuth-Objekt

Schritt 1: Anforderung der Temporary Credentials

Als Erstes müssen die Temporary Credentials bei Twitter angefordert werden. Das passiert im Skript redirect.php, in dem zuerst ein neues TwitterOAuth-Objekt erzeugt wird:

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET);

Mit diesem Objekt werden dann die Temporary Credentials angefordert:

$temporary_credentials = $connection->getRequestToken(OAUTH_CALLBACK);

Da die Temporary Credentials noch benötigt werden, werden sie in der Session gespeichert:

$_SESSION['oauth_token'] = $temporary_credentials['oauth_token'];
$_SESSION['oauth_token_secret'] = $temporary_credentials['oauth_token_secret'];
Schritt 2: Autorisierung durch den Benutzer

Nun kann der Benutzer zur Autorisierung der Temporary Credentials zu Twitter geschickt werden:

$url = $connection->getAuthorizeURL($_SESSION['oauth_token']);
header('Location: '.$url); 

Der Autorisierungs-URL entspricht folgendem Muster:

https://twitter.com/oauth/authenticate?oauth_token=xyz123

Bei Bedarf können Sie hier weitere Parameter anhängen, die Twitter dann nach der Autorisierung mit zurückliefert, zum Beispiel:

https://twitter.com/oauth/authenticate?oauth_token=xyz123&etwas=wichtiges

Der Benutzer wird nun zu Twitter weitergeleitet, wo er dem Wunsch nach Autorisierung zustimmt (oder auch nicht). Nach erteilter Autorisierung wird der Benutzer von Twitter zum Callback URL, im Beispiel zum Skript callback.php, weitergeleitet.

Schritt 3: Anforderung der Token Credentials

Jetzt müssen die Temporary Credentials in die dauerhaften Token Credentials umgetauscht werden. Dazu wird in callback.php mit den Temporary Credentials ein neues TwitterOAuth-Objekt erzeugt, mit dem dann die Token Credentials angefordert werden können:

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
$token_credentials = $connection->getAccessToken($_REQUEST['oauth_verifier']);

In $_REQUEST[‚oauth_verifier‘] steht der von Twitter erzeugte Verification-Code, an dem Twitter die erfolgreiche Autorisierung erkennt. Die Token Credentials müssen nur noch gespeichert werden, im Beispiel in der Session:

$_SESSION['token_credentials'] = $token_credentials;
Schritt 4: Es gibt keinen Schritt 4

Mit den Token Credentials wird dann in index.php wieder ein neues TwitterOAuth-Objekt erzeugt, über das (endlich/schon) auf das Twitter API zugegriffen werden kann:

$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $token_credentials['oauth_token'], $token_credentials['oauth_token_secret']);

Die Autorisierung wurde erfolgreich durchgeführt, und als erster Test können die Informationen über das Benutzerkonto abgefragt werden:

$antwort = $connection->get('account/verify_credentials');
print_r($antwort);

Das Ergebnis könnte wie in Listing 1 aussehen. Sie können nun beispielsweise einen Tweet absenden:

$temporary_credentials = $connection->getRequestToken(OAUTH_CALLBACK);
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -