Zend_OpenId-Introduction.xml 7.9 KB

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