Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我使用react native时,passport.deserializeUser未被调用_Javascript_Node.js_Reactjs_Express_Session - Fatal编程技术网

Javascript 当我使用react native时,passport.deserializeUser未被调用

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

运行/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'));

    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('서버 실행 중!');
    });