Passport.js req.user undefined или пустая строка, если я получаю (или отправляю запрос) из Frontend (React), но получаю через Postman Works

Я уже прочитал все сообщения req.user undefined на SO, но через 3 дня мне еще предстоит найти решение, поэтому, пожалуйста, не сердитесь на еще один неопределенный вопрос req.user.

Я установил обычную аутентификацию локального пользователя Passport.js. ВСЕ отлично работает от регистрации до входа в систему и выхода из системы, за исключением случаев, когда я пытаюсь получить пользовательский / пользовательский сеанс из внешнего интерфейса. НО получение (или запрос) сеанса пользователя / пользователя через Postman работает нормально, у меня все отображается отлично, и даже консоль сервера. Регистрирует мне информацию о пользователе вместо undefined, в отличие от того, когда я пытаюсь получить ее из Frontend.

Я изменял свой код Cors & Fetch бесчисленное количество раз за последние 3 дня, и я действительно в своем уме.

<- Код Backend (Node / Express) ->

// App
    const app: Application = express();

    app.use(express.urlencoded({ extended: true }))
    app.use(express.json());

    app.use(cors({ origin: 'http://localhost:3000', credentials: true }));
    // I've even tried to include methods: "GET,HEAD,PUT,PATCH,POST,DELETE" with NO success.
    // I've tried with and without origin or credentials.

// Express Session
    app.use(session({
        // secret: process.env.SESSION_SECRET
        secret: 'whatever the secret is',
        resave: false,
        store: new pgSessionStore({
            pool: pool,
            tableName: 'session'
        }),
        saveUninitialized: true,
        cookie: {  maxAge: 365 * 24 * 60 * 60 * 1000 } //One year
    }))
    // Initialize passport & session
    app.use(passport.initialize());
    app.use(passport.session());
    // Auth
    initializePassport(passport);

    // Routes
    app.use(mountRoutes);

<- Код Frontend (React.js) -> Я пробовал Axios & Fetch в различных вариантах конфигурации, которые могли предложить Fetch, Axios и Cors.

 const requestUser = () => {
        fetch("http://localhost:3001/users", {
            method: "GET",
            mode: 'cors',
            credentials: 'include',
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                
            },


        }).then((res) => console.info(res)).catch(err => console.info(err))


    const config = {
        withCredentials: true,
        headers: {
            'Content-Type': 'application/json',
        },
    };
    const url = 'http://localhost:3001/users'
    const getUser = () => {
        axios.get(url, config).then((res) => {
            console.info(res.data);});
    }

Я действительно в своем уме и надеюсь, что кто-нибудь может мне помочь. Может быть, я просто не могу видеть лес перед деревом через 3 дня. Заранее спасибо.

Сеанс не передается через источник.

Shmili Breuer 08.04.2021 00:09

Привет, спасибо за ответ. Не могли бы вы рассказать об этом подробнее?

ProjectX 08.04.2021 00:12
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
21
0

Другие вопросы по теме