Programmer's Reference Guide

Kapitel 35. Zend_OpenId

35.1. Einführung

Zend_OpenId ist eine Zend Framework Komponente die eine einfache API für das erstellen von OpenID-verwendenden Sites und Identitäts Providern bietet.

35.1.1. Was ist OpenID?

OpenID ist ein Set von Protokollen für Benutzer-zentrierte digitale Identitäts Provider. Diese Protokolle erlauben die Erstellung einer Identität online, indem ein Identitäts Provider verwendet wird. Diese Identität kann überall verwendet werden wo OpenID unterstützt wird. Die Verwendung von OpenID-verwendenden Sites gestattet es Web Benutzern, das Sie sich traditionelle Authentifizierungs Tokens nicht merken müßen wie Benutzername und Passwort. Alle OpenID-verwendenden Sites akzeptieren eine einzelne OpenID Identität. Diese Identität ist typischerweise eine URL. Das kann die URL der persönlichen Seite eines Benutzers sein, ein Blog oder eine andere Ressource die zusätzliche Daten zu Ihm liefert. Keine Notwendigkeit mehr für viele Passwörter und verschiedene Benutzernamen - nur ein Identitifizierer für alle Internet Services. OpenID ist eine offene, dezentralisierte und freie Benutzer zentrierte Lösung. Ein Benutzer kann 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-verwendende Sites zuzulassen oder zu registrieren oder irgendwelche Identitäts Provider.

Für weitere Informationen über OpenId siehe die offizielle OpenID Seite und siehe in das OpenID Buch von Rafeeq Rehman.

35.1.2. Wie funktioniert das ?

Der Hauptzweck der Zend_OpenId Komponente ist es ein OpenID Authentifizierungs Protokoll zu implementieren wie im folgenden Diagramm beschrieben:

  1. Authentifizierung wird durch den End-Benutzer initiiert, welcher seinen OpenID Identifizierer zum OpenID Konsumenten, durch einen User-Agenten, übergibt.

  2. Der OpenID Konsument führt eine Normalisierung des vom Benutzer gelieferten Identifizierers durch, und erkennt Ihn. Als Ergebnis erhält er das folgende: ein geforderter Identifizierer, eine OpenID Provider URL und eine OpenID Protokoll Version.

  3. Der OpenID Client führt eine optionale Assoziierung mit dem Server durch wobei Diffie-Hellman Schlüssel verwendet werden. Als Ergebnis bekommen beide Parteien einen übliches "geteiltes Geheimnis" das für das unterschreiben und verifizieren der folgenden (nachfolgenden) Nachrichten verwendet wird.

  4. Der OpenID Konsument leitet den Benutzer-Agenten zur URL des OpenID Providers mit einer OpenID Authentifizierungs Anfrage weiter.

  5. Der OpenID Provider prüft ob der Benutzer-Agent bereits authentifiziert wurde und bietet dieses an wenn es notwendig ist.

  6. Der Endbenutzer gibt das benötigte Passwort an.

  7. 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.

  8. Der Endbenutzer erlaubt oder verweigert das übergeben seiner Identität.

  9. Der OpenID Provider leitet den Benutzer-Agenten zum OpenID Konsumenten zurück mit einer "Authentifizierung durchgeführt" oder "fehlgeschlagen" Anfrage.

  10. Der OpenID Konsument verifiziert die vom Provider empfangenen Informationen durch die Verwendung des "geteilten Geheimnisses" das er bei Schritt 3 erhalten hat oder durch das senden einer direkten Anfrage zum OpenID Provider.

35.1.3. Zend_OpenId Struktur

Zend_OpenId besteht aus zwei Unterpaketen. Das erste ist Zend_OpenId_Consumer für die Entwicklung von OpenID-verwendenden Servern. Diese sind komplett unabhängig voneinander und können seperat verwendet werden.

Der einzige gemeinsame Teil dieser Unterpakete ist die OpenID Einfache Resistrierungs Erweiterung die von der Zend_OpenId_Extension_Sreg Klasse implementiert wird und das Set von Hilfs Funktionen die von der Zend_OpenId Klasse implementiert werden.

[Anmerkung] Anmerkung

Zend_OpenId hat Vorteile davon wenn die GMP Erweiterung vorhanden ist. Es sollte Angedacht werden die GMP Erweiterung für eine bessere Performance einzuschalten wenn Zend_OpenId verwendet wird.

35.1.4. Unterstützte Standards

Die Zend_OpenId Komponente entspricht den folgenden Stanadards:

  • OpenID Authentifizierungs Protokoll Version 1.1

  • OpenID Authentifizierungs Protokoll Version 2.0 Entwurf 11

  • OpenID Einfache Registrierungs Erweiterung Version 1.0

  • OpenID Einfache Registrierungs Erweiterung Version 1.1 Entwurf 1


Search the Manual

Translation Status Reports

View the current status report of Zend Framework manual translations.