So gewinnen Sie neue User

Teil 4: Identitätsmanagement und Authentifizierung; OpenID

Nach dem Eröffnen einer neuen PHP-Sitzung kann der Status der Authentifizierung des Benutzers beispielsweise wie folgt überprüft werden:

<?php
session_start();
if (!isset($_SESSION
['OPENID_AUTH']) || $_SESSION['OPENID_AUTH'] !== true) {
die ('Der Zugriff auf diese Seite ist
Ihnen nicht gestattet! Bitte melden Sie sich (erneut) an.');
}
?><head><title>Geschützte Webseite</title></head><body><h2>Geschützte Seite</h2><p>Der Zugriff auf diese Seite ist
Ihnen nur gelungen, weil Sie sich erfolgreich angemeldet haben!</p></body></html>

Erst nach einer erfolgreichen Anmeldung erhält die Variable $_SESSION['OPENID_AUTH'] den Wert true. In jedem anderen Fall wird der Zugriff auf die betreffende Webseite verweigert.

OpenID-Profildaten

Damit der OpenID-Consumer (die Webseite, die die Anmeldung anfordert) den Benutzer namentlich begrüßen kann, muss sie die zugehörige Information von dem Open ID-Anbieter beziehen. Persönliche Daten wie der Name oder die E-Mail-Adresse gehören zum OpenID-Profil des Benutzers und können bei Bedarf an den Consumer-Dienst übergeben werden.

Diesen Vorgang bezeichnet man mit dem Begriff Simple Registration. Zum Beispiel:

<head><title>OpenID-Profil: Datenübergabe</title></head><body><form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Melden Sie sich mit Ihrer OpenID an:<br/><input type="text" name="id" size=
"30" /><br /><input type="submit" name="Anmelden"
value="Anmelden" /></form></body></html><?php
}
else {
if (trim($_POST['id'] == '')) {
die("FEHLER: Bitte geben Sie ein
korrekte OpenID ein.");
}
require_once "Auth/OpenID/Consumer.
php";
require_once "Auth/OpenID/FileStore.
php";

Die Umsetzung von Simple Registration setzt eine zusätzliche Include-Datei vor:

require_once "Auth/OpenID/SReg.php";

Nach diesem Aufruf wird erwartungsgemäß die Sitzung eröffnet, ein Ablageort für die OpenID-Daten festgelegt und ein OpenID-Consumer erzeugt:

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

Danach kann endlich die Anmeldung stattfinden:

$auth = $consumer->begin($_POST
['id']);
if (!$auth) {
die("FEHLER: Bitte tragen Sie eine
korrekte OpenID ein.");
}

Jetzt können die Registrierungsdaten vom OpenID-Dienstleister angefordert werden:

$sreg = Auth_OpenID_SRegRequest:
:build(array('email', 'fullname', 'dob', 'language'),array('nickname'));
if (!$sreg) {
die("FEHLER: Der Aufbau einer
Registrierungsanfrage ist fehlgeschlagen");
}
$auth->addExtension($sreg);

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.