Javascript 当我使用react native时,passport.deserializeUser未被调用
运行/kakao路由器时,将执行kakao策略,您可以看到在passport.user中输入了user.id 但当有api请求时,passport.deserializeUser不会运行。我不确定是什么原因 即使cookie:secure设置为false,也是一样的 这是我的密码 (route/auth.js) (passport/index.js) (app.js)Javascript 当我使用react native时,passport.deserializeUser未被调用,javascript,node.js,reactjs,express,session,Javascript,Node.js,Reactjs,Express,Session,运行/kakao路由器时,将执行kakao策略,您可以看到在passport.user中输入了user.id 但当有api请求时,passport.deserializeUser不会运行。我不确定是什么原因 即使cookie:secure设置为false,也是一样的 这是我的密码 (route/auth.js) (passport/index.js) (app.js) router.get('/kakao', passport.authenticate('kakao')); r
router.get('/kakao', passport.authenticate('kakao'));
router.get(
'/kakao/callback',
passport.authenticate('kakao', {
failureRedirect: '/',
}),
(req, res) => {
res.redirect(`demo://app`);
},
);
const passport = require('passport');
const kakao = require('./kakaoStrategy');
const {User} = require('../models');
module.exports = () => {
passport.serializeUser((user, done) => {
done(null, user.id);
});
passport.deserializeUser(async (id, done) => {
try {
const user = await User.findOne({where: {id}});
done(null, user); // req.user
} catch (error) {
console.error(error);
done(error);
}
});
kakao();
};
const express = require('express');
const session = require('express-session');
const cookieParser = require('cookie-parser');
const passport = require('passport');
const dotenv = require('dotenv');
const morgan = require('morgan');
const path = require('path');
const authRouter = require('./routes/auth');
const db = require('./models');
const passportConfig = require('./passport');
dotenv.config();
const app = express();
db.sequelize
.sync()
.then(() => {
console.log('db 연결 성공');
})
.catch(console.error);
passportConfig();
app.use(morgan('dev'));
app.use(express.json());
app.use(express.urlencoded({extended: true}));
app.use(cookieParser(process.env.COOKIE_SECRET));
app.use(
session({
saveUninitialized: false,
resave: false,
secret: process.env.COOKIE_SECRET,
cookie: {
httpOnly: false,
secure: false,
},
}),
);
app.use(passport.initialize());
app.use(passport.session());
app.get('/', (req, res) => {
res.send('hello express');
});
// API는 다른 서비스가 내 서비스의 기능을 실행할 수 있게 열어둔 창구
app.use('/auth', authRouter);
app.listen(3065, () => {
console.log('서버 실행 중!');
});