• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Cookies bei on.('connect')

Paykoman

New member
Hallöchen,

also aktuell habe ich im Client selber eine Funktion die bei connect ein emit an den Server sendet und die Session-ID enthält.
Nun hatte ich heute eh schon ein paar Tests gemacht und da vom Anfang noch mal was aufgegriffen und nun klappt es wenigstens das ich mir bei on.connect die cookiesvom handshake hole.

Code:
socket.on('connect',function(){
    console.log('user is connected');
    console.log( client.handshake.headers.cookie );
});

Das klappt soweit auch, sofern man die Webseite neuladen tut, andernfalls wird nach nem re-login die letzte oder eben kein session-cookie gesendet (beim ersten seiten aufbau nach dem login).
Aber wie gesagt spätestens nach dem ersten F5 funktioniert es wunderbar.

Letztlich gibt es aber 2 Fakten die es kurios machen:
1) beim ausloggen wird die alte session komplett gelöscht und eine neue samt cookie erstellt. Aber auch auf dem Standard weg (Erstbesuch) macht das ganze keinen Sinn.
Erstbesuch erstellt umgehend die session + cookie ist als bereits auf der öffentlichen Seite alles verfügbar, nach dem login wird lediglich die Session erweitert also keine neue erstellt und trotzdem landet in socket die vorheriger oder eben kein session cookie.

2) An der Webseite und der Erstellungs-zeitpunkt des Cookies kann es eig. nicht liegen, bis dato hat ja auch mein js-client bei connect nichts anderes getan als cookie auslesen und die ID zu übermitteln.

Letztlich ging mir es halt darum es nicht so offensichtlich zu präsentieren und code-technisch zu verschöner :(

Hoffe da hat vllt. schon wer Erfahrung gemacht.
 
Code:
    console.log( client.handshake.headers.cookie );
});
ist socket.handshake irgendwo dokumentiert? wenn nicht würde ich es nicht nutzen. was dokumentiert ist, ist use. das wird direkt beim handshake gerufen.


Letztlich gibt es aber 2 Fakten die es kurios machen:
1) beim ausloggen wird die alte session komplett gelöscht und eine neue samt cookie erstellt. Aber auch auf dem Standard weg (Erstbesuch) macht das ganze keinen Sinn.
Erstbesuch erstellt umgehend die session + cookie ist als bereits auf der öffentlichen Seite alles verfügbar, nach dem login wird lediglich die Session erweitert also keine neue erstellt und trotzdem landet in socket die vorheriger oder eben kein session cookie.

2) An der Webseite und der Erstellungs-zeitpunkt des Cookies kann es eig. nicht liegen, bis dato hat ja auch mein js-client bei connect nichts anderes getan als cookie auslesen und die ID zu übermitteln.
dazu wird ohne code kaum jemand was sagen können
 
Zuletzt bearbeitet von einem Moderator:
Um das genauer zu untersuchen, würde ich mir mal den Netzwerkverkehr genauer ansehen. Da kannst du dann genau nachverfolgen, wo welche Cookies gesendet werden.
 
Zurück
Oben