Type Alias SessionKitOptions<TPayload, TPrincipal>
SessionKitOptions: { store: SessionStore<TPayload>; cookie?: CookieOptions; session: { ttlSeconds: number; rolling?: boolean; touchEverySeconds?: number; renewBeforeSeconds?: number; }; principalFactory: (payload: TPayload) => TPrincipal; payloadTransformer?: (raw: unknown) => TPayload; token?: { shouldRefresh: (payload: TPayload, nowMs: number) => boolean; refresh: ( payload: TPayload, ) => Promise<{ payload: TPayload; ttlSeconds?: number }>; onRefreshFail?: "unauth" | "revoke"; }; lockProvider?: LockProvider; hooks?: { onUnauthorized?: (ctx: HttpContext) => Promise<void> | void; onInvalidSession?: ( ctx: HttpContext, reason: ErrorCode | string, ) => Promise<void> | void; }; logger?: Logger;} Type declaration
session: {
ttlSeconds: number;
rolling?: boolean;
touchEverySeconds?: number;
renewBeforeSeconds?: number;
}
OptionalpayloadTransformer?: (raw: unknown) => TPayload
Optionaltoken?: {
shouldRefresh: (payload: TPayload, nowMs: number) => boolean;
refresh: (
payload: TPayload,
) => Promise<{ payload: TPayload; ttlSeconds?: number }>;
onRefreshFail?: "unauth" | "revoke";
}
Optionalhooks?: {
onUnauthorized?: (ctx: HttpContext) => Promise<void> | void;
onInvalidSession?: (
ctx: HttpContext,
reason: ErrorCode | string,
) => Promise<void> | void;
}
Optionallogger?: Logger
Root configuration for creating a SessionKit instance.