private async Task <Tuple <string, string> > GenerateTokens(User identityUser) { // Generate access token string accessToken = await GenerateAccessToken(identityUser); // Set Access Token Cookie var accessTokenCookieOptions = new CookieOptions { HttpOnly = true, Secure = true, SameSite = SameSiteMode.None //Expires = DateTime.UtcNow.AddDays(7) }; HttpContext.Response.Cookies.Append("accessToken", accessToken, accessTokenCookieOptions); // Generate refresh token string refreshToken = GenerateRefreshToken(); // Set Refresh Token Cookie var refreshTokenCookieOptions = new CookieOptions { HttpOnly = true, Secure = true, SameSite = SameSiteMode.None //Expires = DateTime.UtcNow.AddDays(7) }; HttpContext.Response.Cookies.Append("refreshToken", refreshToken, refreshTokenCookieOptions); // Save refresh token to database RefreshToken rf = new RefreshToken { Token = refreshToken, ExpiryOn = DateTime.UtcNow.AddDays(jwtBearerTokenSettings.RefreshTokenExpiryInDays), CreatedOn = DateTime.UtcNow, UserId = identityUser.Id, User = identityUser }; await refreshTokenRepository.Add(rf); return(new Tuple <string, string>(accessToken, refreshToken)); }