quart.sessions 模块#

class quart.sessions.SecureCookieSessionInterface#

继承自: SessionInterface

使用 Cookie 作为存储的会话接口。

这将以纯文本形式将数据存储在 Cookie 中,但使用签名以防止修改。

static digest_method(string=b'', *, usedforsecurity=True)#

返回一个 sha1 哈希对象;可选地用一个字符串初始化

get_signing_serializer(app: Quart) URLSafeTimedSerializer | None#

返回会话的序列化器,该序列化器也会对数据进行签名。

如果应用程序未配置为使用密钥,则返回 None。

key_derivation = 'hmac'#
async open_session(app: Quart, request: BaseRequestWebsocket) SecureCookieSession | None#

打开基于安全 Cookie 的会话。

如果签名序列化器不可用,则返回 None,通常是如果未设置 config SECRET_KEY。

salt = 'cookie-session'#
async save_session(app: Quart, session: SessionMixin, response: Response | WerkzeugResponse | None) None#

将会话保存到响应中的安全 Cookie 中。

serializer = <flask.json.tag.TaggedJSONSerializer object>#
session_class#

SecureCookieSession 的别名

class quart.sessions.SessionInterface#

继承自: object

会话接口的基类。

null_session_class#

空会话(无存储)的存储类。

pickle_based#

指示会话是否使用腌制。

帮助方法,用于返回应用程序的 Cookie 域。

帮助方法,用于返回 Cookie 是否应该为应用程序的 HTTPOnly。

帮助方法,用于返回应用程序的 Cookie 名称。

帮助方法,用于返回应用程序的 Cookie 路径。

帮助方法,用于返回应用程序的 Cookie SameSite 配置。

帮助方法,用于返回 Cookie 是否应该为应用程序的 Secure。

get_expiration_time(app: Quart, session: SessionMixin) datetime | None#

帮助方法,用于返回会话的到期时间。

如果会话不是“永久性”的,它将在浏览器停止访问应用程序时到期。

is_null_session(instance: object) bool#

如果实例是空会话,则返回 True。

async make_null_session(app: Quart) NullSession#

创建 Null 会话对象。

如果未配置或激活会话,则使用此对象替换实际会话。

null_session_class#

NullSession 的别名

async open_session(app: Quart, request: BaseRequestWebsocket) SessionMixin | None#

从请求中打开现有会话,或创建一个新会话。

返回值::

Session 对象或 None(如果无法创建会话,在这种情况下,预期使用 null_session_class)。

pickle_based = False#
async save_session(app: Quart, session: SessionMixin, response: Response | WerkzeugResponse | None) None#

将会话参数保存到响应中。

参数::

response – 如果在 websocket 连接关闭后保存会话,则可以为 None。

返回值::

已修改的响应,其中包含已存储的会话。

辅助方法,用于返回 Set Cookie 标头是否应该存在。

如果会话被标记为已修改,或者应用程序配置为始终刷新 cookie,则会触发此方法。