Spaces:
Running
Running
File size: 625 Bytes
d502d70 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | ```typescript
import { eventHandler, getCookie } from 'h3'
import { sessionStore } from '../middleware/auth'
export default eventHandler((event) => {
const sessionId = getCookie(event, 'session_id')
if (!sessionId || !sessionStore.has(sessionId)) {
return { authenticated: false }
}
const session = sessionStore.get(sessionId)!
const now = Date.now()
if (now - session.createdAt > 24 * 60 * 60 * 1000) {
sessionStore.delete(sessionId)
return { authenticated: false }
}
return {
authenticated: true,
user: {
id: session.userId,
email: session.email
}
}
})
``` |