/ / Erzeuge den Cookie-Wert der signierten Session, der in flask - python, session, flask verwendet wird

Generieren Sie den signierten Sitzungscookiewert in flask - python, session, flask

Ich vertrete einen Flaschen-Server mit einer anderen FlascheServer, der Elemente in die Sitzung injizieren muss. Beide Server haben denselben geheimen Schlüssel, so dass die kryptografische Signatur dieselbe ist. Wenn Sie Flask und eine Sitzung verwenden, enthält die http-Antwort einen Set-Cookie-Header mit session = text, wobei text eine codierte JSON-Zeichenfolge Ihres mit dem geheimen Schlüssel signierten Sitzungsobjekts ist. In der Hauptsache muss ich in der Lage sein, diese Zeichenfolge neu zu erstellen, aber ich kann die Schnittstelle dazu nicht finden.

Antworten:

1 für die Antwort № 1

Ich habe nach der Suche mein eigenes Problem gelöst Wie funktioniert das? in der Quelle. Ich hatte es eilig bei der Arbeit und hatte keine Zeit, es besser zu erklären.

from flask import Flask, session
from flask.sessions import SecureCookieSessionInterface

app = Flask("example")
app.secret_key = "Tom Izzo 4 President"

# 1. this is what I was looking for
session_serializer = SecureCookieSessionInterface() 
.get_signing_serializer(app)

app.route("/")
def test():
session["lst"] = ["a", "b", "c", "d"]

# 2. and this is how I needed to use it
session_cookie = session_serializer.dumps(dict(session))

Die Variable session_cookie oben ist ein gültiger Cookie-Wert für eine Sitzung, die den angegebenen secret_key verwendet. Hiermit kann ich eine Anfrage an einen anderen Flashen-Server weiterleiten, der den secret_key verwendet.