|
@@ -1,5 +1,5 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
-<!-- EN-Revision: 20827 -->
|
|
|
|
|
|
|
+<!-- EN-Revision: 21819 -->
|
|
|
<!-- Reviewed: no -->
|
|
<!-- Reviewed: no -->
|
|
|
<sect2 id="zend.oauth.introduction.getting-started">
|
|
<sect2 id="zend.oauth.introduction.getting-started">
|
|
|
<title>Beginnen</title>
|
|
<title>Beginnen</title>
|
|
@@ -9,7 +9,8 @@
|
|
|
Quellcode an. Unser neuer Konsument wird Twitter Statusübertragungen verwenden. Um das tun
|
|
Quellcode an. Unser neuer Konsument wird Twitter Statusübertragungen verwenden. Um das tun
|
|
|
zu können muss er bei Twitter registriert sein um einen OAuth Konsumentenschlüssel und ein
|
|
zu können muss er bei Twitter registriert sein um einen OAuth Konsumentenschlüssel und ein
|
|
|
Konsumentengeheimnis zu empfangen. Diese werden verwendet um einen Zugriffstoken zu
|
|
Konsumentengeheimnis zu empfangen. Diese werden verwendet um einen Zugriffstoken zu
|
|
|
- erhalten bevor wir die Twitter API verwenden um eine Statusmeldung zu schicken.
|
|
|
|
|
|
|
+ erhalten bevor wir die Twitter <acronym>API</acronym> verwenden um eine Statusmeldung zu
|
|
|
|
|
+ schicken.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
@@ -32,7 +33,7 @@ $consumer = new Zend_Oauth_Consumer($config);
|
|
|
<para>
|
|
<para>
|
|
|
callbackUrl ist die URI von der wir wollen das Sie Twitter von unserem Server anfragt wenn
|
|
callbackUrl ist die URI von der wir wollen das Sie Twitter von unserem Server anfragt wenn
|
|
|
Informationen gesendet werden. Wir sehen uns das später an. siteUrl ist die Basis URL der
|
|
Informationen gesendet werden. Wir sehen uns das später an. siteUrl ist die Basis URL der
|
|
|
- OAuth API Endpunkte von Twitter. Die komplette Liste der Endpunkt enthält
|
|
|
|
|
|
|
+ OAuth <acronym>API</acronym> Endpunkte von Twitter. Die komplette Liste der Endpunkt enthält
|
|
|
http://twitter.com/oauth/request_token, http://twitter.com/oauth/access_token und
|
|
http://twitter.com/oauth/request_token, http://twitter.com/oauth/access_token und
|
|
|
http://twitter.com/oauth/authorize. Die grundsätzliche siteUrl verwendet eine Konvention
|
|
http://twitter.com/oauth/authorize. Die grundsätzliche siteUrl verwendet eine Konvention
|
|
|
welche auf diese drei OAuth Endpunkte verweist (als Standard) um einen Anfragetoken, den
|
|
welche auf diese drei OAuth Endpunkte verweist (als Standard) um einen Anfragetoken, den
|
|
@@ -103,8 +104,9 @@ $token = $consumer->getRequestToken();
|
|
|
<para>
|
|
<para>
|
|
|
Der neue Anfragetoken (eine Instanz von <classname>Zend_Oauth_Token_Request</classname>)
|
|
Der neue Anfragetoken (eine Instanz von <classname>Zend_Oauth_Token_Request</classname>)
|
|
|
ist nicht authorisiert. Um Ihn mit einem authorisierten Token zu wechseln mit dem wir auf
|
|
ist nicht authorisiert. Um Ihn mit einem authorisierten Token zu wechseln mit dem wir auf
|
|
|
- die Twitter API zugreifen können, muss Ihn der Benutzer authorisieren. Wir bewerkstelligen
|
|
|
|
|
- das indem der Benutzer auf den Authorisierungsendpunkt von Twitter umgeleitet wird:
|
|
|
|
|
|
|
+ die Twitter <acronym>API</acronym> zugreifen können, muss Ihn der Benutzer authorisieren.
|
|
|
|
|
+ Wir bewerkstelligen das indem der Benutzer auf den Authorisierungsendpunkt von Twitter
|
|
|
|
|
+ umgeleitet wird:
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
<programlisting language="php"><![CDATA[
|
|
@@ -147,9 +149,9 @@ $consumer->redirect();
|
|
|
einbauen um diesen Zugriffstoken wie folgt herauszuschneiden - dieser Sourcecode würde im
|
|
einbauen um diesen Zugriffstoken wie folgt herauszuschneiden - dieser Sourcecode würde im
|
|
|
ausgeführten Code unserer Callback URI existieren. Sobald er herausgeschnitten wurde können
|
|
ausgeführten Code unserer Callback URI existieren. Sobald er herausgeschnitten wurde können
|
|
|
wir den vorherigen Anfragetoken entfernen, und statt dessen den Zugriffstoken für die
|
|
wir den vorherigen Anfragetoken entfernen, und statt dessen den Zugriffstoken für die
|
|
|
- zukünftige Verendung mit der API von Twitter fixieren. Nochmals, wir fixieren einfach die
|
|
|
|
|
- Session des Benutzer, aber in Wirklichkeit kann ein Zugriffstoken eine lange Lebenszeit
|
|
|
|
|
- haben, und sollte deshalb wirklich in einer Datenbank abgespeichert werden.
|
|
|
|
|
|
|
+ zukünftige Verendung mit der <acronym>API</acronym> von Twitter fixieren. Nochmals, wir
|
|
|
|
|
+ fixieren einfach die Session des Benutzer, aber in Wirklichkeit kann ein Zugriffstoken eine
|
|
|
|
|
+ lange Lebenszeit haben, und sollte deshalb wirklich in einer Datenbank abgespeichert werden.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
<programlisting language="php"><![CDATA[
|
|
@@ -175,13 +177,14 @@ if (!empty($_GET) && isset($_SESSION['TWITTER_REQUEST_TOKEN'])) {
|
|
|
|
|
|
|
|
<para>
|
|
<para>
|
|
|
Erfolg! Wir haben einen authorisierten Zugriffstoken - zu dieser Zeit verwenden wir schon
|
|
Erfolg! Wir haben einen authorisierten Zugriffstoken - zu dieser Zeit verwenden wir schon
|
|
|
- die API von Twitter. Da dieser Zugriffstoken bei jeder einzelnen API Anfrage enthalten sein
|
|
|
|
|
- muss, bietet Zend_Oauth_Consumer einen fix-fertigen HTTP Client an (eine Subklasse von
|
|
|
|
|
- <classname>Zend_Http_Client</classname>) welcher entweder für sich verwendet werden, oder
|
|
|
|
|
- der als eigener HTTP Client an eine andere Bibliothek oder Komponente übergeben werden kann.
|
|
|
|
|
- Hier ist ein Beispiel für die eigenständige Verwendung. Das kann von überall aus der
|
|
|
|
|
- Anwendung heraus getan werden, solange man Zugriff auf die OAuth Konfiguration hat, und den
|
|
|
|
|
- endgültigen authorisierten Zugriffstoken empfangen kann.
|
|
|
|
|
|
|
+ die <acronym>API</acronym> von Twitter. Da dieser Zugriffstoken bei jeder einzelnen
|
|
|
|
|
+ <acronym>API</acronym> Anfrage enthalten sein muss, bietet Zend_Oauth_Consumer einen
|
|
|
|
|
+ fix-fertigen HTTP Client an (eine Subklasse von <classname>Zend_Http_Client</classname>)
|
|
|
|
|
+ welcher entweder für sich verwendet werden, oder der als eigener HTTP Client an eine andere
|
|
|
|
|
+ Bibliothek oder Komponente übergeben werden kann. Hier ist ein Beispiel für die
|
|
|
|
|
+ eigenständige Verwendung. Das kann von überall aus der Anwendung heraus getan werden,
|
|
|
|
|
+ solange man Zugriff auf die OAuth Konfiguration hat, und den endgültigen authorisierten
|
|
|
|
|
+ Zugriffstoken empfangen kann.
|
|
|
</para>
|
|
</para>
|
|
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
<programlisting language="php"><![CDATA[
|