Zend_OpenId-Introduction.xml 7.8 KB

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