Не удается получить cookie, отправленный экспресс-сервером - PullRequest
0 голосов
/ 26 сентября 2018

У меня такая странная проблема.Я не могу получить cookie в клиентском javascript, который я буду использовать для проверки того, вошел ли клиент в систему. Я использую cookie-сессию на сервере и паспорт.Это может быть простой вопрос, но я впервые пытаюсь это сделать.Я также искал в Интернете, и да, есть много функций для получения куки, но ни одна из них не работает.

Это скриншот окна моего браузера: enter image description here

Вот мой код expressjs, возможно, я что-то не так понимаю по этому поводу.

const express = require('express');
const passport = require('passport');
const bodyParser = require('body-parser');
const mongoose = require('mongoose');
const cookieSession = require('cookie-session');
// const path = require('path');

const keys = require('./config/keys');
require('./models/User');
require('./services/passport');

mongoose.connect('mongodb://127.0.0.1:27017/eventbrite');

const app = express();

app.use(cookieSession({
  maxAge: 30 * 24 * 60 * 60 * 1000,
  keys: [keys.cookieKey]
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

require('./routes/authRoutes')(app);
const port = process.env.PORT || 5000;

app.listen(port, () => {
  console.log(`Server is up on port ${port}`);
});

И это моя конфигурация passportjs:

const passport = require('passport');
const EventbriteStrategy = require('passport-eventbrite-oauth').OAuth2Strategy;
const mongoose = require('mongoose');
const keys = require('../config/keys');

const User = mongoose.model('users');

passport.serializeUser((user, done) => {
  done(null, user.accessToken);
});

passport.deserializeUser((token, done) => {
  User.findOne({ accessToken: token })
    .then((user) => {
      done(null, user);
    });
});

passport.use(new EventbriteStrategy({
  clientID: keys.eventbriteClientID,
  clientSecret: keys.eventbriteClientSecret,
  callbackURL: 'http://localhost:3000/auth/eventbrite/callback'
},
((accessToken, refreshToken, extraParams, profile, done) => {
  User.findOne({ eventbriteId: profile.id })
    .then((existingUser) => {
      if (existingUser) {
        done(null, existingUser);
      } else {
        new User({ eventbriteId: profile.id, accessToken, name: profile.displayName })
          .save()
          .then(user => done(null, user));
      }
    });
  console.log(profile, 'profile');
}
)));
...