Skip to content

createAuthTokenStorage

通过 useStorage 持久化 access/refresh/expires token,内存缓存供同步读取。

前置依赖

依赖参数

参数名类型说明
deps.storage{ get, set, remove }createAuthStorageEnvironment 创建
deps.readSync可选启动时同步填充缓存
deps.HeadersHeaders 构造器附加 Bearer 头

环境要求

应用侧推荐:

typescript
const env = createAuthStorageEnvironment({
  localStorage: window.localStorage,
  consoleError: console.error.bind(console),
  Headers,
})
const auth = createAuthTokenStorage(
  { storage: env.storage, readSync: env.readSync, Headers: env.Headers },
  keys,
)

函数签名

typescript
function createAuthTokenStorage(
  deps: AuthTokenStorageDeps,
  keys: AuthStorageKeys,
  options?: { onAccessTokenChange?: (token: string | null) => void },
): AuthTokenStorage

参数

参数名类型必填说明
depsAuthTokenStorageDeps存储与 Headers
keysAuthStorageKeysaccess / refresh / expires 键名
options.onAccessTokenChangefunctionaccess token 变更回调

返回值

类型说明
AuthTokenStorage同步读写 token、createAuthRequestInithydrateCache

工作原理

  1. readSync 在构造时填充内存缓存,保证 getAuthToken 同步可用。
  2. set* / clear 先更新缓存,再 void storage.set/remove 持久化。
  3. hydrateCache 可从 storage 异步刷新缓存(多标签页场景可选)。