5
5
assertMethod ,
6
6
defineEventHandler ,
7
7
deleteCookie ,
8
+ setResponseStatus ,
8
9
} from 'h3'
9
10
import { getAdminApp } from 'vuefire/server'
10
11
import { log } from '../logging'
@@ -16,7 +17,7 @@ export default defineEventHandler(async (event) => {
16
17
assertMethod ( event , 'POST' )
17
18
const { token } = await readBody ( event )
18
19
19
- // log('debug', 'minting a session cookie ')
20
+ log ( 'debug' , 'Getting the admin app ' )
20
21
const adminApp = getAdminApp ( )
21
22
const adminAuth = getAdminAuth ( adminApp )
22
23
@@ -25,13 +26,13 @@ export default defineEventHandler(async (event) => {
25
26
26
27
if ( verifiedIdToken ) {
27
28
if ( new Date ( ) . getTime ( ) / 1_000 - verifiedIdToken . iat > ID_TOKEN_MAX_AGE ) {
28
- event . node . res . statusCode = 301
29
- return ''
29
+ setResponseStatus ( event , 301 )
30
30
} else {
31
31
const cookie = await adminAuth
32
32
. createSessionCookie ( token ! , { expiresIn : AUTH_COOKIE_MAX_AGE } )
33
33
. catch ( ( e : any ) => {
34
34
log ( 'error' , 'Error minting the cookie -' , e . message )
35
+ log ( 'error' , e )
35
36
} )
36
37
if ( cookie ) {
37
38
// log('debug', `minted a session cookie for user ${verifiedIdToken.uid}`)
@@ -42,18 +43,17 @@ export default defineEventHandler(async (event) => {
42
43
path : '/' ,
43
44
sameSite : 'lax' ,
44
45
} )
45
- event . node . res . statusCode = 201
46
+ setResponseStatus ( event , 201 )
46
47
return ''
47
48
} else {
48
- log ( 'error' , 'failed to mint a session cookie' )
49
- event . node . res . statusCode = 401
49
+ setResponseStatus ( event , 401 )
50
50
return ''
51
51
}
52
52
}
53
53
} else {
54
54
// log('debug', 'deleting the session cookie')
55
55
deleteCookie ( event , AUTH_COOKIE_NAME )
56
- event . node . res . statusCode = 204
56
+ setResponseStatus ( event , 204 )
57
57
}
58
58
59
59
// empty response
0 commit comments