@@ -61,15 +61,24 @@ export default defineEventHandler(async (event) => {
61
61
} ,
62
62
) ;
63
63
const claims = tokenSet . claims ( ) ;
64
- await updateSession (
64
+ const sessions = await useSession (
65
65
event ,
66
- { password : config . sessionSecret } ,
67
- {
68
- tokenSet : tokenSet ,
69
- user : claims ,
70
- } ,
66
+ { password : config . sessionSecret }
71
67
) ;
72
-
68
+ await sessions . update ( {
69
+ tokenSet : tokenSet ,
70
+ user : claims ,
71
+ } ) ;
72
+ setCookie ( event , "auth_session" , JSON . stringify ( { tokenSet : tokenSet , user : claims } ) , {
73
+ httpOnly : true ,
74
+ secure : process . env . NODE_ENV === "production" ,
75
+ } ) ;
76
+ if ( claims . tenantid ) {
77
+ setCookie ( event , "__tenant" , JSON . stringify ( claims . tenantid ) , {
78
+ httpOnly : true ,
79
+ secure : process . env . NODE_ENV === "production" ,
80
+ } ) ;
81
+ }
73
82
await sendRedirect ( event , "/admin" ) ;
74
83
} catch ( e : unknown ) {
75
84
if ( e instanceof Error ) {
@@ -80,13 +89,17 @@ export default defineEventHandler(async (event) => {
80
89
} else if ( event . path == "/api/auth/signup" ) {
81
90
await sendRedirect ( event , `${ config . openiddict . issuer } /Account/Register` ) ;
82
91
} else if ( event . path == "/api/auth/signout" ) {
83
- await getSession ( event , { password : config . sessionSecret } ) ;
84
92
const logoutUrl = client . endSessionUrl ( {
85
93
client_id : config . openiddict . clientId ,
94
+ post_logout_redirect_uri : config . openiddict . postLogoutRedirectUrl ,
86
95
} ) ;
87
- await sendRedirect ( event , logoutUrl ) ;
96
+ console . log ( "Logging out: " , logoutUrl ) ;
97
+ deleteCookie ( event , "auth_session" ) ;
98
+ await sendRedirect ( event , "/" ) ;
99
+
88
100
} else if ( event . path == `/${ config . openiddict . postLogoutRedirectUrl } ` ) {
89
- await clearSession ( event , { password : config . sessionSecret } ) ;
101
+ // Todo: check and remove this
102
+ deleteCookie ( event , "auth_session" ) ;
90
103
await sendRedirect ( event , "/" ) ;
91
104
} else {
92
105
await sendRedirect ( event , "/error/notfound" , 404 ) ;
0 commit comments