| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- <?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>
|