Паспорт с React: req.user не определен - PullRequest
0 голосов
/ 01 февраля 2020

Я использую паспорт для входа пользователей в мое приложение. Я пытаюсь получить десериализованного пользователя через req.user на маршруты, отличные от моих маршрутов входа и регистрации, но я получаю значение "undefined". Я полагаю, что это потому, что мой интерфейс реагирования по какой-то причине не отправляет повара ie обратно на мой сервер. Буду признателен за любую оказанную помощь. Спасибо.

сервер. js

require('dotenv').config();
const express = require("express");
const mongoose = require("mongoose");
const cors = require("cors");
const cookieSession = require('cookie-session')
const passport = require("./Passport");
//const path = require("path");


const app = express();


app.use(cors());
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieSession({
  maxAge: 24 * 60 * 60 * 1000,
  name: 'session',
  keys: ['key1']
}))
app.use(passport.initialize());
app.use(passport.session());


const PORT = process.env.PORT || 8080

mongoose.connect('mongodb://localhost:27017/accountsDB', { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true });

const transactionsRouter = require("./routes/transactions");
const fieldsRouter = require("./routes/fields");
const userRouter = require("./routes/user");
app.use('/transactions', transactionsRouter);
app.use('/fields', fieldsRouter);
app.use("/user", userRouter);

/*Serves the build folder that we had created */
/*if(process.env.NODE_ENV === "production"){
  app.use(express.static( "accounts-frontend/build"));

  app.get("*", (req,res) => {
    res.sendFile(path.join(__dirname, "accounts-frontend", "build", "index.html"))
  })
}*/


app.listen(PORT, () => {
  console.log(`server has started successfully on ${PORT}`);
});

настройка паспорта со стратегиями

const passport = require("passport");
const User = require("../models/user.model")


passport.serializeUser(function (user, done) {
    done(null, user.id);
});

passport.deserializeUser(function (id, done) {
    User.findById(id).then(function (user) {
        done(null, user);
    })
})


// Here we will import all the strategies to our index file
const SignupStrategy = require("./signupStrategy");
const LoginStrategy = require("./loginStrategy");

// Then we will set the strategies up to be used by passport

passport.use("local-signup", SignupStrategy);
passport.use("local-login", LoginStrategy);

module.exports = passport;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...