Skip to main content

Module session

Module session 

Source
Expand description

会话 token 管理子模块。 会话 token 生成、哈希与 Cookie 处理。

token 使用 UUID,存储时使用 SHA-256 哈希, Cookie 包含 HttpOnly、SameSite=Lax 与可选 Secure 标志。 服务端上下文解析函数仅在 feature = "server" 时可用。

Constants§

SESSION_MAX_AGE_SECS
会话默认生命周期(秒):30 天。同时驱动 DB expires_at(见 default_expiry) 与登录时下发的 Cookie Max-Ageapi/auth.rs::login),避免两处独立硬编码导致漂移。

Functions§

default_expiry
返回默认会话过期时间(当前时间 + SESSION_MAX_AGE_SECS)。
generate_token
生成新的随机会话 token(UUID 格式)。
get_session_from_ctx
从 Dioxus FullstackContext 中读取 Cookie 并返回会话 token。
hash_token
使用 SHA-256 对 token 进行哈希,用于数据库存储。
parse_session_token
Cookie 头中解析名为 session 的 token 值。
session_cookie
构造会话 Cookie 字符串,包含 HttpOnly、Path、Max-Age 与 SameSite。