Я столкнулся с большой проблемой при использовании PassportJS и RethinkDB.Когда я вхожу в систему на моем компьютере, все работает нормально, но я также захожу на сайт для всех остальных, использующих сайт.На каждом устройстве.Я предполагаю, что это как-то связано с сессиями, но я не могу найти проблему.Я подключаю свой код PassportJS ниже.Я использую NodeJS и ExpressJS.
app.use(cookieParser());
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.use(bodyParser());
app.use(cookieSession({ secret: 'cookietrash', cookie: {maxAge: 60 * 60 * 24} }));
app.use(passport.initialize());
app.use(passport.session());
passport.serializeUser((user, done) => {
done(null, user);
userData = user;
});
passport.deserializeUser(function(id, done){
r.table('users').filter({id: id}).run(function(err, result){
if(err) throw err;
done(null, result);
})
done(null, user);
});
passport.use(new GoogleStrategy({
clientID: 'MY-ID',
clientSecret: 'MY-CS',
callbackURL: "/auth/google/callback"
},
function(accessToken, refreshToken, profile, cb) {
r.table('users').filter({id: profile.id}).run(function(err, result){
if(err) throw err;
// Create account if no account
if(result.length === 0){
var str = profile._json.image.url;
var res = str.split("?sz=50")[0]+"";
console.log('new user');
r.table('users').insert({
id: profile.id,
avatar: res,
name: profile.displayName,
}).run(connection), function(err, result){
if(err) throw err;
cb(null, result)
}
}else{
cb(null, result)
console.log('returning user');
}
});
}));
app.get('/auth/google',
passport.authenticate('google', { scope: ['profile'] }
));
app.get('/auth/google/callback',
passport.authenticate('google', { failureRedirect: '/' }),
function(req, res) {
res.redirect('/earn');
});