Database Adapter
Package: @nauth-toolkit/storage-database
Type: Storage Adapter (Production)
TypeORM-based storage for transient authentication state.
- npm
- Yarn
- pnpm
- Bun
npm install @nauth-toolkit/storage-database
yarn add @nauth-toolkit/storage-database
pnpm add @nauth-toolkit/storage-database
bun add @nauth-toolkit/storage-database
note
Requires database package for entities. See Database Packages.
Usage
- NestJS
- Express
- Fastify
import { DatabaseStorageAdapter } from '@nauth-toolkit/storage-database';
import { getNAuthTransientStorageEntities } from '@nauth-toolkit/database-typeorm-postgres';
// Include transient storage entities in TypeORM
TypeOrmModule.forRoot({
entities: [
...getNAuthTransientStorageEntities(),
// your entities...
],
})
AuthModule.forRoot({
storageAdapter: new DatabaseStorageAdapter(),
})
import { DatabaseStorageAdapter } from '@nauth-toolkit/storage-database';
import { getNAuthTransientStorageEntities } from '@nauth-toolkit/database-typeorm-postgres';
// Include in DataSource
const dataSource = new DataSource({
entities: [
...getNAuthTransientStorageEntities(),
// your entities...
],
});
const nauth = await NAuth.create({
config: {
storageAdapter: new DatabaseStorageAdapter(),
},
dataSource,
// ...
});
import { DatabaseStorageAdapter } from '@nauth-toolkit/storage-database';
import { getNAuthTransientStorageEntities } from '@nauth-toolkit/database-typeorm-postgres';
import { FastifyAdapter } from '@nauth-toolkit/core';
const dataSource = new DataSource({
entities: [
...getNAuthTransientStorageEntities(),
// your entities...
],
});
const nauth = await NAuth.create({
config: {
storageAdapter: new DatabaseStorageAdapter(),
},
dataSource,
adapter: new FastifyAdapter(),
// ...
});
When to Use
- Single-database architecture (no separate Redis)
- Lower infrastructure complexity
- Acceptable performance for moderate load
Trade-offs vs Redis
| Aspect | Database | Redis |
|---|---|---|
| Performance | Good | Excellent |
| Infrastructure | Existing DB | Additional service |
| Scaling | Vertical | Horizontal |
Related
- Redis - Higher performance option
- Session Storage
- Database Packages