diff --git a/packages/api/src/auth/auth.controller.ts b/packages/api/src/auth/auth.controller.ts index a251fd57..c4ec8942 100644 --- a/packages/api/src/auth/auth.controller.ts +++ b/packages/api/src/auth/auth.controller.ts @@ -30,7 +30,7 @@ export class AuthController { } = request; const genTokens = await this.authService.login(user, keepMeLoggedIn); const { setCookies } = cookiesUtils; - setCookies(genTokens, keepMeLoggedIn, response, true); + setCookies(genTokens, keepMeLoggedIn, response, false); // TODO: add separate method for extracting user // eslint-disable-next-line no-unused-vars const { password, ...rest } = user; @@ -47,7 +47,7 @@ export class AuthController { }); const genTokens = await this.authService.login(newUser, false); const { setCookies } = cookiesUtils; - setCookies(genTokens, false, response, true); + setCookies(genTokens, false, response, false); // TODO: add separate method for extracting user // eslint-disable-next-line no-unused-vars const { password, ...rest } = user; diff --git a/packages/api/src/auth/guards/only-authenticated.guard.ts b/packages/api/src/auth/guards/only-authenticated.guard.ts index dd98f1a5..c023ab41 100644 --- a/packages/api/src/auth/guards/only-authenticated.guard.ts +++ b/packages/api/src/auth/guards/only-authenticated.guard.ts @@ -49,7 +49,7 @@ export class OnlyAuthenticatedGuard implements CanActivate { ): Promise { const tokenGen = await this.authService.refreshTokens(tokens); const { setCookies } = cookiesUtils; - setCookies(tokenGen, tokenGen.payload.keepMeLoggedIn, response, false); + setCookies(tokenGen, tokenGen.payload.keepMeLoggedIn, response, true); return tokenGen.payload; } } diff --git a/packages/api/src/utils/cookiesUtils.ts b/packages/api/src/utils/cookiesUtils.ts index 3641f8ac..3d441229 100644 --- a/packages/api/src/utils/cookiesUtils.ts +++ b/packages/api/src/utils/cookiesUtils.ts @@ -8,7 +8,7 @@ const setCookies = ( tokenGen: GeneratedTokens, keepMeLogin: boolean, response: CookieResponse, - setRefreshToken: boolean, + setOnlyAccessToken: boolean, ) => { const { tokens: { accessToken, logoutToken, refreshToken }, @@ -21,16 +21,17 @@ const setCookies = ( httpOnly: true, path: '/', secure: !isDevelopment, - sameSite: 'lax', + signed: !isDevelopment, + sameSite: isDevelopment ? undefined : 'none', }; - if (!keepMeLogin) { + if (!keepMeLogin && !setOnlyAccessToken) { response.cookie(tokenConfig.logoutToken.name, logoutToken, { ...options, expires: undefined, }); } - if (setRefreshToken) { + if (!setOnlyAccessToken) { response.cookie(tokenConfig.refreshToken.name, refreshToken, { ...options, expires: refreshExpiration,