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
    }
  }
})
```