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_rewrite
s keine Option sind. Könnte ein eigenes Modul die Aufgabe lösen? Muss es dazu drupal_boostrap
en? 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 10 Stunden 44 Minuten
vor 11 Stunden 6 Minuten
vor 13 Stunden 58 Minuten
vor 1 Tag 32 Minuten
vor 1 Tag 12 Stunden
vor 3 Tagen 7 Stunden
vor 3 Tagen 10 Stunden
vor 3 Tagen 20 Stunden
vor 3 Tagen 23 Stunden
vor 3 Tagen 23 Stunden