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.

Identitätsmanagement und Authentifizierung

© 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 zum Thema

Youtube Sperre umgehen GEMA
Videos freischalten

So umgehen Sie die GEMA-Sperre bei Youtube. Was Sie dazu brauchen, und wie es am einfachsten geht.
Neue Fritzboxen unterstützen den AC-Standard.
WLAN-Geschwindigkeit verdoppeln

Mehr WLAN-Geschwindigkeit: Mit dem WLAN-Standard 802.11ac und den richtigen Geräten und Einstellungen verdoppeln Sie den Datendurchsatz.
Netflix auf dem TV
Programm in der Übersicht

Welche Filme und Serien gibt es bei Netflix eigentlich zu sehen? Was ist neu im Streaming-Angebot? Diese Antworten helfen weiter.
Netflix
Streaming

Preise, kompatible Geräte, Datenrate, Serien- und Filmangebot von Netflix: Wir beantworten die wichtigsten Fragen rund um den Streaming-Dienst.
E.T. – Der Außerirdische
Vorschau auf Film- und Serien-Highlights

Amazon Prime Instant Video lockt im Dezember 2016 mit Film-Highlights wie "E.T.", "Fast & Furious 7" und der Serie "Ku’damm 56​".