1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185
|
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.openid.introduction">
<title>Einführung</title>
<para>
<classname>Zend_OpenId</classname> ist eine Zend Framework Komponente die eine einfache
<acronym>API</acronym> für das Erstellen von OpenID-verwendenden Sites und Identitäts
Providern bietet.
</para>
<sect2 id="zend.openid.introduction.what">
<title>Was ist OpenID?</title>
<para>
OpenID ist ein Set von Protokollen für Benutzer-zentrierte digitale Identitäts Provider.
Diese Protokolle erlauben Benutzern online die Erstellung einer Identität, indem ein
Identitäts Provider verwendet wird. Diese Identität kann auf jeder Seite verwendet
werden die OpenID unterstützt. Die Verwendung von OpenID-erlaubenden Sites gestattet es
Benutzern, das Sie sich traditionelle Authentifizierungs Tokens nicht merken müssen, wie
Benutzernamen und Passwörter für jede Seite. Alle OpenID-erlaubenden Sites akzeptieren
eine einzelne OpenID Identität. Diese Identität ist typischerweise eine
<acronym>URL</acronym>. Das kann die <acronym>URL</acronym> der persönlichen Seite eines
Benutzers sein, ein Blog oder eine andere Ressource die zusätzliche Daten zu Ihm
liefert. Das bedeutet das ein Benutzer nur mehr einen Identifikator für alle Seiten, die
er oder Sie benutzt, benötigt. OpenID ist eine offene, dezentralisierte und freie
Benutzer-zentrierte Lösung. Benutzer können auswählen welcher OpenID Anbieter verwendet
werden soll, oder sogar Ihren eigenen persönlichen Identitäts Server erstellen. Es wird
keine zentrale Authorität benötigt um OpenID-erlaubende Sites zuzulassen oder zu
registrieren noch irgendwelche Identitäts Provider.
</para>
<para>
Für weitere Informationen über OpenId siehe die
<ulink url="http://www.openid.net/">offizielle OpenID Seite</ulink>.
</para>
</sect2>
<sect2 id="zend.openid.introduction.how">
<title>Wie funktioniert das ?</title>
<para>
Der Zweck der <classname>Zend_OpenId</classname> Komponente ist es das OpenID
Authentifizierungsprotokoll zu implementieren, wie im folgenden Sequenzdiagramm
beschrieben:
</para>
<para>
<inlinegraphic align="center" fileref="figures/zend.openid.protocol.jpg" format="JPEG"
scale="100" valign="middle" width="559" />
</para>
<orderedlist>
<listitem>
<para>
Authentifizierung wird durch den Endbenutzer initiiert, welcher seinen OpenID
Identifikator zum OpenID Konsumenten, durch einen User-Agenten, übergibt.
</para>
</listitem>
<listitem>
<para>
Der OpenID Konsument führt eine Normalisierung und Begutachtung des vom Benutzer
gelieferten Identifikators durch. Durch diesen Prozess erhält der Benutzer den
geforderten Identifikator, die <acronym>URL</acronym> des OpenID Providers und
eine OpenID Protokoll Version.
</para>
</listitem>
<listitem>
<para>
Der OpenID Konsument führt eine optionale Assoziierung mit dem Provider durch
wobei Diffie-Hellman Schlüssel verwendet werden. Als Ergebnis haben beide
Parteien ein übliches "geteiltes Geheimnis" das für das unterschreiben und
verifizieren der nachfolgenden Nachrichten verwendet wird.
</para>
</listitem>
<listitem>
<para>
Der OpenID Konsument leitet den Benutzer-Agenten zur <acronym>URL</acronym> des
OpenID Providers mit einer OpenID Authentifizierungs Anfrage weiter.
</para>
</listitem>
<listitem>
<para>
Der OpenID Provider prüft ob der Benutzer-Agent bereits authentifiziert wurde,
und wenn nicht bietet er es an.
</para>
</listitem>
<listitem>
<para>
Der Endbenutzer gibt das benötigte Passwort an.
</para>
</listitem>
<listitem>
<para>
Der OpenID Provider prüft ob es erlaubt ist die Identität des Benutzers zum
gegebenen Konsumenten zu übergeben, und fragt den Benutzer wenn das notwendig
ist.
</para>
</listitem>
<listitem>
<para>
Der Benutzer erlaubt oder verweigert das übergeben seiner Identität.
</para>
</listitem>
<listitem>
<para>
Der OpenID Provider leitet den Benutzer-Agenten zum OpenID Konsumenten zurück
mit einer "Authentifizierung durchgeführt" oder "fehlgeschlagen" Anfrage.
</para>
</listitem>
<listitem>
<para>
Der OpenID Konsument verifiziert die vom Provider empfangenen Informationen
durch die Verwendung des geteilten Geheimnisses das er in Schritt 3 erhalten hat
oder durch das Senden einer direkten Anfrage zum OpenID Provider.
</para>
</listitem>
</orderedlist>
</sect2>
<sect2 id="zend.openid.introduction.structure">
<title>Zend_OpenId Struktur</title>
<para>
<classname>Zend_OpenId</classname> besteht aus zwei Unterpaketen. Das erste ist
<classname>Zend_OpenId_Consumer</classname> für die Entwicklung von OpenID-verwendenden
Servern und der zweite ist <classname>Zend_OpenId_Provider</classname> für die
Entwicklung von OpenID Servern. Diese sind komplett unabhängig voneinander und können
separat verwendet werden.
</para>
<para>
Der einzige gemeinsame Code der von diesen Unterpaketen verwendet wird ist die OpenID
Simply Registry Erweiterung die von der
<classname>Zend_OpenId_Extension_Sreg</classname> Klasse implementiert wird und ein Set
von Hilfs Funktionen die von der <classname>Zend_OpenId</classname> Klasse implementiert
werden.
</para>
<note>
<para>
<classname>Zend_OpenId</classname> hat Vorteile davon wenn die
<ulink url="http://php.net/gmp">GMP Erweiterung</ulink> vorhanden ist. Es sollte
Angedacht werden die GMP Erweiterung für eine verbesserte Performance einzuschalten
wenn <classname>Zend_OpenId</classname> verwendet wird.OpenID
</para>
</note>
</sect2>
<sect2 id="zend.openid.introduction.standards">
<title>Unterstützte OpenId Standards</title>
<para>
Die <classname>Zend_OpenId</classname> Komponente unterstützt die folgenden Standards:
</para>
<itemizedlist>
<listitem>
<para>OpenID Authentifizierungs Protokoll Version 1.1</para>
</listitem>
<listitem>
<para>OpenID Authentifizierungs Protokoll Version 2.0 Entwurf 11</para>
</listitem>
<listitem>
<para>OpenID Einfache Registrierungs Erweiterung Version 1.0</para>
</listitem>
<listitem>
<para>OpenID Einfache Registrierungs Erweiterung Version 1.1 Entwurf 1</para>
</listitem>
</itemizedlist>
</sect2>
</sect1>
|