簡體   English   中英

生成Flask中使用的已簽名會話cookie值

[英]Generating signed session cookie value used in Flask

我正在使用另一個需要將項目注入會話的Flask服務器代理Flask服務器。

兩個服務器都具有相同的密鑰,因此加密簽名將是相同的。 使用Flask和會話時,http響應包含帶有session=text的Set-Cookie標頭,其中text是使用您的密鑰簽名的會話對象的編碼JSON字符串。

本質上,我需要能夠重新創建這個字符串,但我找不到這樣做的接口。

在找到了如何在源中執行此操作后,我最終解決了自己的問題。 我急着上班,所以沒有時間更好地解釋。

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))

上面的變量session_cookie是使用給定secret_key的會話的有效cookie值。 有了這個,我能夠將請求轉發到使用secret_key的另一個燒瓶服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM