У меня такая странная проблема.Я не могу получить cookie в клиентском javascript, который я буду использовать для проверки того, вошел ли клиент в систему. Я использую cookie-сессию на сервере и паспорт.Это может быть простой вопрос, но я впервые пытаюсь это сделать.Я также искал в Интернете, и да, есть много функций для получения куки, но ни одна из них не работает.
Это скриншот окна моего браузера:
Вот мой код 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');
}
)));