Не удается установить cookie на heroku после google oauth, то же самое работает нормально в местном? - PullRequest
0 голосов
/ 18 октября 2018

Я пытаюсь интегрировать Google oauth в мое приложение узла.куки не устанавливаются на сервере heroku, в то время как то же самое работает на локальном сервере.

passport.js

passport.serializeUser((user, done) => {

  done(null, user.id);
});

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

passport.use(
  new GoogleStrategy(
    {
      clientID: keys.googleClientID,
      clientSecret: keys.googleClientSecret,
      callbackURL: '/auth/google/callback',
      proxy: true
    },
    async (accessToken, refreshToken, profile, done) => {
      const existingUser = await User.findOne({ googleId: profile.id });

      if (existingUser) {
        return done(null, existingUser);
      }

      const user = await new User({ googleId: profile.id }).save();
      done(null, user);
    }
  )
);

RouteFile.js

Здесь я получаю req.user, который одинаков для local и heroku после потока oauth.но в героку это не настройка печенья.

  app.get(
    '/auth/google/callback',
    passport.authenticate('google'),
    (req, res) => {
      console.log(req.user);
      res.redirect('/dashboard');
    }
  );

index.js

Настройка файлов cookie.То же самое работает в локальном, но не на сервере геройку

const app = express();

app.use(bodyParser.json());
app.use(
  cookieSession({
    //name: 'session',
    maxAge: 30 * 24 * 60 * 60 * 1000,
    keys: [keys.cookieKey],
    //secure: true,
    //httpOnly : false
  })
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...