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

HTML5: Quick Reference Guide
Ratgeber: "HTML5"

Die wichtigsten Tags auf einen Blick: In unserem praktischen Arbeitsblatt finden Sie einen wertvollen Begleiter für die Umstellung Ihrer Webprojekte…
internet, webdesign, google, content, ranking, seo, suchmaschine
Ratgeber: Urheberrecht

Einzigartige Inhalte bieten Lesern Mehrwert und sind ein wichtiges Qualitätsmerkmal. Ärgerlich, wenn sich jemand durch Kopieren an fremden…
Die besten HTML5-Tipps
Neue Tipps & Tricks für blitz.io

Wer die Leistung einer Applikation ermitteln möchte, braucht keine Skripte zu schreiben, sondern kann einen der zahlreichen Online-Dienste…
image.jpg
Ratgeber: Webentwicklung

Die clientseitige Javascript-Entwicklung bietet fast keine Entwicklungsumgebungen und auch keine vernünftigen Werkzeuge zur Fehlersuche. Eine der…
internet, webdesign, meteor, webapplikationen
Ratgeber

Mit Meteor sollen Entwickler in kurzer Zeit Umgebungen für Webapplikationen erstellen können, ohne sich um lästige Details kümmern zu müssen. Wir…