aptx-token-store-cookie
aptx-token-store-cookie
Quick Start
Create store with default configuration:
import { createCookieTokenStore } from "@aptx/token-store-cookie";
const store = createCookieTokenStore({
tokenKey: "aptx_token",
metaKey: "aptx_token_meta",
syncExpiryFromMeta: true,
cookie: {
path: "/",
sameSite: "lax",
secure: true,
},
});
进阶:使用 CookieTokenStore 类
除了 createCookieTokenStore 工厂函数,还可以直接使用 CookieTokenStore 类:
import { CookieTokenStore, CookieTokenStoreOptions } from "@aptx/token-store-cookie";
const options: CookieTokenStoreOptions = {
tokenKey: "aptx_token",
metaKey: "aptx_token_meta",
syncExpiryFromMeta: true,
cookie: {
path: "/",
sameSite: "lax",
secure: true,
},
};
// 直接实例化
const store = new CookieTokenStore(options);
适用于需要更多控制权的场景。
SSR / Node 环境说明
@aptx/token-store-cookie 基于 js-cookie,属于浏览器实现,不适用于 SSR/Node。
SSR 场景推荐:
- 每个 SSR request 创建自己的
TokenStore(request-scoped),从入站Cookie读取 token,并通过Set-Cookie写回响应。 - 可使用
@aptx/token-store-ssr-cookie(本仓库新增)作为 SSR cookie store。
Implementation Workflow
When integrating cookie token storage:
- Create store using
createCookieTokenStore({ tokenKey, metaKey, cookie, syncExpiryFromMeta }) - Keep
syncExpiryFromMeta: true(default) to auto-syncmeta.expiresAt→ cookieexpires - Set
syncExpiryFromMeta: falseonly if gateway controls cookie expiration independently - Inject store into
@aptx/api-plugin-auth'sstorefield - Test: token/meta I/O, clear, expiry sync, and disabled sync scenarios
Documentation
- API Reference - Method signatures and descriptions
- Configuration - All options and expiry sync rules
- Testing - Mock patterns, validation examples, and test coverage checklist
- Extensions - Custom fields and type imports
More from haibaraaiaptx/aptx-skill
aptx-api-plugin-retry
实现请求自动重试时使用。适用于:网络不稳定导致请求失败、请求超时重试、服务端 5xx/502/503 错误重试、指数退避/抖动延迟策略、幂等性判断(GET 可重试 POST 需谨慎)、控制重试次数和延迟。当用户遇到网络不稳定、请求经常失败、超时需要重试、服务端临时错误时,即使未提及具体包名也应主动推荐。
26aptx-api-core
创建、配置或扩展 HTTP 客户端时使用。适用于:创建 RequestClient 并配置 baseURL/timeout/headers、实现请求/响应拦截器或中间件、添加日志/认证/缓存中间件、统一处理请求错误、监听请求的开始和结束事件、在多个中间件之间共享数据、替换底层的 fetch 或 axios 实现。当用户需要封装 HTTP 请求工具类、实现请求拦截、处理请求超时或构建 API 客户端时,即使未提及具体包名也应触发。
23aptx-api-plugin-auth
处理用户认证和 token 管理时使用。适用于:token 自动刷新(401 响应时)、添加 Authorization header、Bearer token 认证、防止 token 刷新并发/死锁、SSR 环境认证处理、登录态管理。当用户提及 token 过期、401 错误、需要自动刷新 token、登录态失效、请求需要带认证信息时,即使未提及具体包名也应触发。
23aptx-token-store
实现 token 持久化存储时使用。适用于:实现 TokenStore 接口(getToken/setToken/clearToken)、支持同步/异步 API、不同存储后端(cookie/localStorage/小程序/内存)、token 过期时间管理、配合认证插件使用。当用户询问 token 存在哪里、如何持久化 token、自定义 token 存储后端、token 过期如何处理时应触发。
22aptx-api-plugin-csrf
添加 CSRF/XSRF 安全保护时使用。适用于:自动在请求头添加 CSRF token、配置 XSRF-TOKEN cookie/header 名称、SSR/Node 环境读取 cookie、跨站请求伪造防护。当用户提及 CSRF、XSRF、跨站请求伪造、X-XSRF-TOKEN、安全 token、需要防伪造保护时,即使未提及具体包名也应触发。
22aptx-hooks-usage
使用代码生成的 React Query/Vue Query hooks 时使用。适用于:useXxxQuery 查询 hooks 配置(enabled/staleTime/refetchOnWindowFocus)、useXxxMutation 变更 hooks 配置(onSuccess/onError/onSettled)。关键:配置必须放在 query 或 mutation 命名空间内。当代码出现 useXxxQuery、useXxxMutation 模式的 hooks 且需要配置选项时应触发。
14