tl; dr: Python Neuling, Djangos Sitzung nicht ordnungsgemäß weitergegeben, während mit HTTPSPython Django Sitzung returns "None"
Ich baue einen einfachen Web-Service, der auf Sitzungs-/Cookies verläßt einen Benutzer zur Authentifizierung .
Während der ersten Authentifizierung ich eine bestimmte Sitzung wie folgt konfiguriert werden:
request.session['userSecureId'] = "blabla"
return HttpResponseRedirect('http://localhost/secure',context)
An dieser Stelle ein neuer Sitzungsschlüssel wurde Tabelle django_session hinzugefügt. Eine grundlegende b64 dekodieren auf dem session_data
Feld auf das Vorhandensein von userSecureId '
Auf meiner Ansicht bestätigen, überprüfe ich, ob diese Sitzung wie folgt vorhanden sind:
if request.session.get('userSecureId'):
# do something
Wenn ich versuche, diese auf meinem lokalen System (plain HTTP), es funktioniert großartig. Also war mein nächster Schritt, es auf meinem entfernten Server mit aktiviertem SSL zu laufen. Ich habe SESSION_COOKIE_SECURE = True
auf meinem settings.py konfiguriert, aber jetzt ist der von 'userSecureId' zurückgegebene Wert immer None.
Dies ist wahrscheinlich ein Neuling Frage, so wird jeder Zeiger geschätzt werden =)
Zusätzlich Wenn ich request.session.session_key
drucke ich bin in der Lage den Sitzungsschlüssel erfolgreich abgerufen werden, was bedeutet, Django richtig mein sessionid Cookie erkennen, kann aber den Inhalt von session_value nicht decodieren
EDIT: Ich habe gerade versucht, auf Django auf meinem Remote-System (gleiche Konfiguration) zuzugreifen, und ich bin mit dem gleichen Problem konfrontiert. Ich habe keine Ahnung, warum ich den Sitzungswert nicht ausführen kann. Code funktioniert 127.0.0.1 w/o Problem mit obwohl
Danke, aber es hat nicht geholfen. Mein Cookie wird von Django an Port 443 korrekt erkannt, aber aus irgendeinem Grund gibt der session_value nur 'None' zurück. – PERPO