kal*_*mbo 2 python cookies session flask
我有来自Flask-0.10应用程序的会话cookie的原始值.我需要在另一个没有使用Flask的应用程序中读取会话,因此我无法访问session代理.
在Flask-0.9中,我可以执行以下操作:
session = SecureCookieSession.unserialize(cookie, app.secret_key)
Run Code Online (Sandbox Code Playgroud)
但是,Flask-0.10中不再存在此方法.我现在如何阅读cookie数据?
Flask-0.10切换到它的危险序列化会话.有关如何在Flask中读取会话的信息,请参阅相关的源代码.
如果您有一个由Flask的默认会话界面序列化的会话,您可以按如下方式手动阅读.
假设您的密钥是'dev',会话数据{'hello': 'world'}被序列化为
'eyJoZWxsbyI6IndvcmxkIn0.BwEv5w.o3gYYutryNy7di1E3LbJZbCFGfY'.
from hashlib import sha1
from flask.sessions import session_json_serializer
from itsdangerous import URLSafeTimedSerializer
s = URLSafeTimedSerializer(
'dev', salt='cookie-session',
serializer=session_json_serializer,
signer_kwargs={'key_derivation': 'hmac', 'digest_method': sha1}
)
session_data = s.loads('eyJoZWxsbyI6IndvcmxkIn0.BwEv5w.o3gYYutryNy7di1E3LbJZbCFGfY')
assert session_data['hello'] == 'world' # True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1258 次 |
| 最近记录: |