bugfix: logout behaviour fixed.
This commit is contained in:
@@ -136,6 +136,28 @@ export class AuthController {
|
||||
return this.authService.getProfile(req.user.id);
|
||||
}
|
||||
|
||||
// =========================
|
||||
// LOGOUT
|
||||
// =========================
|
||||
@Post('logout')
|
||||
@HttpCode(HttpStatus.OK)
|
||||
@ApiOperation({ summary: 'Logout current user' })
|
||||
@ApiResponse({ status: 200, description: 'Logout successful' })
|
||||
async logout(@Req() req, @Res({ passthrough: true }) res: Response) {
|
||||
const accessToken = req?.cookies?.accessToken;
|
||||
|
||||
if (accessToken) {
|
||||
await this.authService.logout(accessToken);
|
||||
}
|
||||
|
||||
this.clearAuthCookies(res);
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: 'Logged out successfully',
|
||||
};
|
||||
}
|
||||
|
||||
// =========================
|
||||
// TEST
|
||||
// =========================
|
||||
@@ -174,4 +196,19 @@ export class AuthController {
|
||||
path: '/',
|
||||
});
|
||||
}
|
||||
|
||||
private clearAuthCookies(res: Response) {
|
||||
res.clearCookie('accessToken', {
|
||||
httpOnly: true,
|
||||
secure: false,
|
||||
sameSite: 'lax',
|
||||
path: '/',
|
||||
});
|
||||
res.clearCookie('refreshToken', {
|
||||
httpOnly: true,
|
||||
secure: false,
|
||||
sameSite: 'lax',
|
||||
path: '/',
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user