Skip to main content

sessions

Global sessions instance that automatically selects the appropriate backend based on environment configuration.
Because sessions is a lazy async proxy, call its methods with await in real code, including generateSessionId().

Configuration


Storage methods

generateSessionId(): Promise<string>
create(session: Session): Promise<void>
update(userId, sessionId, data): Promise<void>
get(userId, sessionId, options?): Promise<Session | null> Returns session data. Pass { includeCredentials: true } to include OAuth credential fields.
getCredentials(userId, sessionId): Promise<SessionCredentials | null> Returns only credential fields (tokens, client info, code verifier, OAuth state).
patchCredentials(userId, sessionId, data): Promise<void> Updates credential fields on an existing session.
clearCredentials(userId, sessionId): Promise<void> Clears all credential fields while keeping session metadata intact.
list(userId): Promise<Session[]>
listIds(userId): Promise<string[]>
delete(userId, sessionId): Promise<void>
listAllIds(): Promise<string[]>
clearAll(): Promise<void>
cleanupExpired(): Promise<void>
disconnect(): Promise<void>

Direct backends