/ / Vygenerujte podpísanú hodnotu súboru cookie relácie použitú v banke - pythón, relácia, banka

Vytvorte hodnotu cookie podpísanej relácie používanú v banke - python, relácia, banka

Plním proxy server s ďalšou bankouserver, ktorý potrebuje na vloženie položiek do relácie. Oba servery majú rovnaký tajný kľúč, takže kryptografický podpis bude rovnaký. Pri použití banky a relácie obsahuje http odpoveď hlavičku Set-Cookie s session = text, kde text je kódovaný reťazec json vášho objektu relácie, ktorý je podpísaný pomocou vášho tajného kľúča. V prvom rade musím byť schopný znova vytvoriť tento reťazec, ale nemôžem nájsť rozhranie, ktoré by to umožnilo.

odpovede:

1 pre odpoveď č. 1

Po zistení som nakoniec vyriešil svoj vlastný problém ako to robí banka v zdroji. Ponáhľal som sa do práce, takže som nemal čas na lepšie vysvetlenie.

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

Premenná session_cookie vyššie je platná hodnota súboru cookie pre reláciu s použitím daného kľúča secret_key. Týmto dokážem poslať požiadavku na iný bankový server, ktorý používa secret_key.