3

When I build MERN stack app I use axios withCredentials: true. And it work well. After I use this next.js but don't work In backend I use passport.js , passport-local-mongoose and express-session for authentication user. It don't work next.js app but work react. If someone know error please write comment or answer:
axiosConfig file

import axios from 'axios';

const baseUrl = process.env.SERVER;

const app = axios.create({
  baseURL: baseUrl,
  withCredentials: true,
});
app.defaults.withCredentials = true;
app.interceptors.response.use(
  (response) => (response),
  (error) => (Promise.reject(error.response.data.err)),
);
app.interceptors.request.use((request) => request, (error) => Promise.reject(error));
export default app;

Auth functions:

export const getUser = async (ctx) => {
  await app
    .get('/users/auth')
    .then((res) => {
      const { data } = res;
      console.log(data);
      return { status: true, user: data };
    })
    .catch((error) => ({ status: false, user: null }));
};
export const login = async (username, password, setUser, setLoading, setError) => {
  console.log(username, password);
  await app.post('/users/login', { username, password })
    .then((res) => {
      console.log(res.data);
      setUser(res.data);

      window.location.reload();
    }).catch((err) => {
      if (err.response) setError(err.response.data.message);
      else setError('Network error! Try again');
    });
};

0 Answers0