Benutzer-Anmeldung und -Authentifizierung ohne COOKIE-Header
am 04.03.2015 - 16:36 Uhr in
Liebe Drupaler,
Die Idee:
Eine D7-Installation (auf Pantheon) soll via Services-Modul als REST-Backend für eine mit AngularJS geschriebene Cordova/Phonegap-App dienen. Benutzer werden mit Session-Cookies identifiziert.
Das Problem:
Drupal identifizert Benutzer per Cookie, aber die App kann den Cookie-Header [Session-Name]=[Session-ID] aufgrund von CORS-Problemen nicht senden, weshalb sie stattdessen einen eigenen Header mit den Session-Informationen sendet.
Jetzt kommt's: diesen Header fange ich in Drupals index.php ab, lese die Session aus, und erstelle daraus den Cookie für Drupal $_COOKIE[session_name()] = $sessid;:
<?php
if (isset($_SERVER['HTTP_MYCUSTOMHEADER'])) {
list($session_name, $sessid) = explode('=', $_SERVER['HTTP_MYCUSTOMHEADER']);
session_name($session_name);
$_COOKIE[session_name()] = $sessid;
}
?>Kurz: ich habe den Drupal Kern bearbeitet – und fühle mich schlecht dabei, obwohl die Anwendung wie geplant funktioniert.
Meine Frage:
Kann ich mein Problem nicht eleganter lösen? Leider läuft Pantheon mit nginx, sodass mod_rewrites keine Option sind. Könnte ein eigenes Modul die Aufgabe lösen? Muss es dazu drupal_boostrapen? Ich schaffe es einfach nicht, den Cookie früh genug in Drupal einzubringen – wenn ein eigenes Modul anfängt zu arbeiten, ist der Session-Kuchen bereits gegessen.
Oder?
- Anmelden oder Registrieren um Kommentare zu schreiben

Neue Kommentare
vor 2 Wochen 3 Stunden
vor 2 Wochen 22 Stunden
vor 2 Wochen 1 Tag
vor 2 Wochen 6 Tagen
vor 2 Wochen 6 Tagen
vor 3 Wochen 3 Tagen
vor 3 Wochen 3 Tagen
vor 3 Wochen 3 Tagen
vor 6 Wochen 40 Minuten
vor 6 Wochen 22 Stunden