序列化选项。

interface CookieSerializeOptions {
    domain?: string;
    encode?: ((str: string) => string);
    expires?: Date;
    httpOnly?: boolean;
    maxAge?: number;
    partitioned?: boolean;
    path?: string;
    priority?: "high" | "low" | "medium";
    sameSite?:
        | boolean
        | "none"
        | "strict"
        | "lax";
    secure?: boolean;
}

属性

domain?: string

指定 Domain Set-Cookie 属性 的值。当未设置域时,客户端认为 Cookie 仅适用于当前域。

encode?: ((str: string) => string)

指定一个函数,该函数将用于编码 cookie-value。由于 Cookie 的值具有有限的字符集(并且必须是简单字符串),因此此函数可用于将值编码为适合 Cookie 值的字符串,并且在解析时应镜像 decode

encodeURIComponent
expires?: Date

指定作为 Expires Set-Cookie 属性 值的 Date 对象。当未设置过期时间时,客户端将此视为“非持久性 Cookie”,并在当前会话结束时删除它。

Cookie 存储模型规范 声明,如果同时设置了 expiresmaxAge,则 maxAge 优先,但并非所有客户端都遵守这一点,因此如果两者都设置,它们应指向相同的日期和时间。

httpOnly?: boolean

启用 HttpOnly Set-Cookie 属性。启用后,客户端将不允许客户端 JavaScript 在 document.cookie 中查看 Cookie。

maxAge?: number

指定作为 Max-Age Set-Cookie 属性 值的 number(以秒为单位)。

Cookie 存储模型规范 声明,如果同时设置了 expiresmaxAge,则 maxAge 优先,但并非所有客户端都遵守这一点,因此如果两者都设置,它们应指向相同的日期和时间。

partitioned?: boolean

启用 Partitioned Set-Cookie 属性。启用后,仅当当前域顶级域匹配时,客户端才会发回 Cookie。

这是一个尚未完全标准化的属性,将来可能会发生变化。这也意味着客户端可能会忽略此属性,直到他们理解它。有关更多信息,请参见 提案

path?: string

指定 Path Set-Cookie 属性 的值。当未设置路径时,路径被视为 “默认路径”

priority?: "high" | "low" | "medium"

指定 Priority Set-Cookie 属性 的值。

  • 'low'Priority 属性设置为 Low
  • 'medium'Priority 属性设置为 Medium,这是未设置时的默认优先级。
  • 'high'Priority 属性设置为 High

有关优先级级别的更多信息,请参见 规范

sameSite?:
    | boolean
    | "none"
    | "strict"
    | "lax"

指定 SameSite Set-Cookie 属性 的值。

  • trueSameSite 属性设置为 Strict 以进行严格的同站强制执行。
  • 'lax'SameSite 属性设置为 Lax 以进行宽松的同站强制执行。
  • 'none'SameSite 属性设置为 None 以用于显式的跨站 Cookie。
  • 'strict'SameSite 属性设置为 Strict 以进行严格的同站强制执行。

有关强制级别的更多信息,请参见 规范

secure?: boolean

启用 Secure Set-Cookie 属性。启用后,仅当浏览器具有 HTTPS 连接时,客户端才会发回 Cookie。