Я разрабатываю приложение express с паспортом js. Когда пользователь нажимает кнопку входа в систему в первый раз, он должен использовать стратегию Google и ввести меня в «/ успех». Когда я закрываю и открываю свой браузер, не выходя из системы, и снова нажимаю кнопку «Войти», он должен ввести меня в «/ success» без повторного запроса экрана входа в систему, потому что я использовал cook ie для хранения данных. Но он снова просит войти в систему с помощью Google. Ниже приведен код программы. Где я ошибаюсь? Пожалуйста помоги. Примечание: я узнал, что cook ie работает нормально, когда я записал в журнал вывод deserializeUser method
index. js
const express = require("express");
const bodyparser = require("body-parser");
const passport = require("passport");
const authRoutes=require('./routes/auth');
const cookieSession=require('cookie-session');
const app = express();
app.use(bodyparser.urlencoded({ extended: true }));
app.use(bodyparser.json());
app.use(cookieSession({
maxAge:24*60*60*1000,
keys:['somerandomkey']
}))
app.set("view engine", "ejs");
app.use(passport.initialize());
app.use(passport.session());
passport.serializeUser((user, done) => {
done(null, user);
});
passport.deserializeUser((user, done) => {
// console.log(user);
done(null, user) });
app.use('/auth/google',authRoutes);
function isLoggedIn(req, res, next) {
if (req.isAuthenticated()) {
next();
}
else {
res.send("first login")
}
}
app.get('/',(req,res)=>res.render('login'));
app.get('/success',isLoggedIn,(req,res)=>res.send('login success'));
app.listen(8080);
авт. js
const express = require('express');
const passport = require('passport');
const GoogleStrategy = require('passport-google-oauth20');
const router = express.Router();
passport.use(new GoogleStrategy({
clientID: 'clientID',
clientSecret: 'clientSecret',
callbackURL: "http://localhost:8080/auth/google/callback"
},
function (accessToken, refreshToken, profile, done) {
done(null,profile);
}
));
router.get('/', passport.authenticate('google', { scope: ['profile'] }));
router.get('/callback', passport.authenticate('google', { failureRedirect: '/' }),(req,res)=>{
res.redirect('/success')
});
module.exports = router;