So gewinnen Sie neue User

Teil 3: Identitätsmanagement und Authentifizierung; OpenID

Um den Single-Sign-On-Prozess zu beginnen ruft das Auth_OpenID_Consumer-Objekt die begin()-Methode auf und übergibt dabei die OpenID des Benutzers. Der Rückgabewert dieser Methode ist ein Auth_OpenID_AuthRequest-Objekt (die Authentifizierungsanfrage).

Die redirectURL()-Methode wird mit zwei Argumenten aufgerufen:

Das erste Argument ist die URL, die verwendet wurde, um Ihre Website gegenüber dem OpenID-Provider zu identifizieren. Das zweite Argument ist die URL, anhand deren der OpenID-Provider nach der erfolgreichen Authentifizierung die Kontrolle zurückgeben soll. Der Rückgabewert von redirectURL() ist eine URL-Textzeichenkette, die benutzt wird, um den User zu der OpenID-Provider-Website zu führen.

© Archiv

OpenID-gestützte Anmeldung bei Wikitravel.org: Das gewohnte Anmeldeformular muss übergangen werden.

Also übergibt der Open ID-Consumer die Kontrolle an den OpenID-Provider. Der Provider trägt nun die Verantwortung dafür, dass der Benutzer identifiziert wird. Sobald dieser Prozess abgeschlossen ist, verweist der OpenID-Provider den Browser des Users wieder zurück an jene Adresse, die als zweites Argument an die redirectURL()-Methode übergeben wurde - in unserem Beispiel oid_return.php. Der OpenID-Provider kann auch andere Daten des Benutzers an den OpenID-Consumer übergeben, Letzteres geschieht mit der Zustimmung des Benutzers.

Die Auswertung der Antwort vom OpenID-Dienstleister erfüllt das PHP-Skript oid_return.php:

<?php
require_once "Auth/OpenID/Consumer.
php";
require_once "Auth/OpenID/FileStore.
php";

Nach Einbinden der nötigen PHP-Dateien wird eine neue PHP-Sitzung geöffnet:

session_start();

Jetzt muss die Ablage zum Speichern von OpenID-Daten und ein Auth_OpenID_Consumer-Objekt erzeugt werden:

$store = new Auth_OpenID_FileStore
('./oid_store');
$consumer = new Auth_OpenID_Consumer
($store);

Um jetzt die Antwort des OpenID-Dienstleisters zu verwerten, wird die complete()-Methode des Objektes aufgerufen:

$response = $consumer->complete(
'http://consumer.blog.de/oid_return.php');

In Abhängigkeit von der Antwort des Open ID-Dienstleisters erhält die Sitzungsvariable den Boolschen Wert true oder false:

if ($response->status == Auth_
OpenID_SUCCESS) {
$_SESSION['OPENID_AUTH'] = true;
}
else {
$_SESSION['OPENID_AUTH'] = false; }

Schließlich erfolgt die Umleitung auf eine Webseite mit beschränktem Zugriff:

header('Location:
restricted.php');?>

Zugriffskontrolle auf Webcontent

Das Objekt Auth_OpenID_ConsumerResponse repräsentiert hierbei die Antwort des OpenID-Providers auf die Aufforderung zur Authentifizierung des Benutzers. Es kommen hierbei vier Codes infrage:

Auth_OpenID_SUCCESS entspricht einer Erfolgsbestätigung; • Auth_OpenID_FAILURE bedeutet, dass die Authentifizierung fehlschlug; • Auth_OpenID_CANCEL wird dann ausgegeben, wenn die Authentifizierung beim OpenID-Provider durch den Benutzer abgebrochen wurde; • Auth_OpenID_SETUP_NEEDED lässt darauf schließen, dass der OpenID-Server eine nicht-interaktive Authentifizierung durchführen sollte, diese jedoch nicht abschließen konnte.

Anhand der Sitzungsvariable $_SESSION['OPENID_AUTH'] kann der Server mit einem kleinen Skript beim Zugriff auf jede einzelne Webseite erkennen, ob der Benutzer angemeldet wurde oder nicht, und ihm entsprechend den Zugriff gewähren oder verweigern.

Mehr lesen

Chronologische Liste und Netflix-Links -

Neuerscheinungen in der Übersicht -

Vorschau auf Film- und Serien-Highlights -

Mehr zum Thema

Webdesign

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.
Facebook

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?
Online-Recht

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.
Online-Recht in der Cloud

Dateien werden immer häufiger in der Cloud bereitgestellt. Rechtlich ist das jedoch durchaus problematisch. Wir klären über das Urheberrecht in der…
E-Commerce-Logistik

Für den Erfolg eines Online-Shops sind zahlreiche Faktoren verantwortlich. Neben Produktvielfalt und Darstellung der Waren gehört auch die Logistik.