Silent Login

  • Ahoy,

    ich bastle grad ein bisschen an einer Homepage rum, auf welcher
    man sich mit Facebook Connect registrieren und auch einloggen
    kann.
    Das Problem das ich jetzt gerade habe ist, dass ich , sobald der
    Besucher auf "Connect with Facebook" gedrückt hat, oder bereits
    connected ist bzw. eine Session dort hat, sich im Hintergrund
    automatisch der Login abspielt mit den Daten aus der Datenbank.
    (Das ganze sieht folgendermaßen aus: Sobald der User das erste
    mal mit Facebook verbindet wird ein neuer Benutzer in meiner
    Datenbank angelegt, mit Benutzername und passwort. Sobald der
    User jetzt wieder kommt und noch eine Session bei Facebook hat,
    aber KEIN Cookie für den "normalen" Login, will ich, dass er
    automatisch eingeloggt wird.

    Hier hängt es:


    Code
    $out.="log in...";
    $out.="<form id='loginform' method='post' action=''>";
    $out.="<input type='hidden' name='user' value=\"".$u['username']."\"/>";
    $out.="<input type='hidden' name='pass' value=\"".$u['password']."\"/>";
    $out.="</form>";
    $out.="
    <script type=\"text/javascript\">
    document.getElementById('loginform').submit();
    </script>";
    echo $out;


    Das Formular wird abgeschickt, alles noch OK. Da ich jetzt aber das
    ganze per Ajax an eine andere Datei zum prüfen schicke entsteht
    hier ein Problem. Scheinbar kapiert mein Script nicht, wenn das per
    Javascript abgeschickt wird.
    Hier der Ajax code:


    Ich weiß das da für Sicherheit noch einiges zu machen wäre..mir geht generell erstmal nur darum den gewünschten Effekt zu erreichen.
    Wenn jemand eine andere Idee zur Umsetzung des ganzen
    Systems hat bin ich gerne für Vorschläge offen.
    Vielen Dank!

  • Kenne mich zwar noch nicht so gut Facebook Connect aus, aber wäre es nicht eher zielführend eine Funktion von Facebook abzurufen um zu fragen, ob der aktuelle Besucher dort angemeldet ist? Wenn ja, lässt Du ihn dann gleich einloggen - muss doch seitens Facebook auch eine Rückgabe davon geben, wer dort eingeloggt ist?

  • Hallo,

    ich habe das Problem jetzt anders gelöst.
    Zu deinem Einwand: Ja das ginge schon. Das Problem nur ist dabei, dass ich einen serperaten Logout auf meiner Seite haben möchte und nicht jeden User dazu "zwingen" will sich bei Facebook abzumelden, wenn er sich bei mir abmelden will.
    Zu meiner Lösung für die Nachwelt:

    Habs jetzt ganz unspektakulär mit Session IDs und Cookies gelöst. Sollte für meine Zwecke genügen.
    Danke an alle die sich das Problem mal angeschaut haben.

    MFG