feat: implement auth system, passkeys, and user management

Add PostgreSQL and Redis integration for users and sessions
Implement password and WebAuthn passkey login flows
Add Docker stack, super-admin seeding, and protected routes
This commit is contained in:
2026-04-12 20:16:43 +08:00
parent a649c509c2
commit 377a9617be
45 changed files with 3620 additions and 104 deletions

20
server/utils/redis.ts Normal file
View File

@@ -0,0 +1,20 @@
import { createClient, type RedisClientType } from 'redis'
let redisClientPromise: Promise<RedisClientType> | null = null
export async function getRedisClient() {
if (!redisClientPromise) {
const config = useRuntimeConfig()
const client = createClient({
url: config.redisUrl || 'redis://127.0.0.1:6379'
})
client.on('error', (error) => {
console.error('Redis connection error', error)
})
redisClientPromise = client.connect().then(() => client)
}
return redisClientPromise
}