From fea52025fe3e882fce3b98a8d0304f34d95eb809 Mon Sep 17 00:00:00 2001 From: fantasticit Date: Fri, 17 Jun 2022 22:12:19 +0800 Subject: [PATCH] server: fix logout --- packages/server/src/controllers/user.controller.ts | 8 +++++++- packages/server/src/services/user.service.ts | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/server/src/controllers/user.controller.ts b/packages/server/src/controllers/user.controller.ts index bd46a595..dde8b15a 100644 --- a/packages/server/src/controllers/user.controller.ts +++ b/packages/server/src/controllers/user.controller.ts @@ -68,7 +68,13 @@ export class UserController { @Post(UserApiDefinition.logout.server) @HttpCode(HttpStatus.OK) async logout(@Res({ passthrough: true }) response: ExpressResponse) { - response.cookie('token', '', { expires: new Date() }); + const { token, domain } = await this.userService.logout(); + response.cookie('token', token, { + expires: new Date(), + domain, + httpOnly: true, + sameSite: 'lax', + }); return; } diff --git a/packages/server/src/services/user.service.ts b/packages/server/src/services/user.service.ts index 17bef8fe..e82265c9 100644 --- a/packages/server/src/services/user.service.ts +++ b/packages/server/src/services/user.service.ts @@ -132,6 +132,11 @@ export class UserService { return { user: res, token, domain, expiresIn }; } + async logout() { + const domain = this.confifgService.get('client.siteDomain'); + return { token: '', domain }; + } + async validateUser(user: UserEntity) { return await this.findById(user.id); }