代码之家  ›  专栏  ›  技术社区  ›  Falieson

Passport上下文。需求。连续登录后用户未定义(express/graphql)

  •  1
  • Falieson  · 技术社区  · 8 年前

    我正在尝试添加passport。js到graphql端点演示

    相关代码: https://gist.github.com/Falieson/855abee65621191d78575b7f28b26191#file-passport-ts-L28

    loginUser突变可以工作,但我希望在第二次登录时

    上下文需求。用户为passport信息,未定义

    我认为服务器中的所有内容都已正确设置。ts

      app.use(bodyParser.json());
    
      passport.use(Passport.Collection.createStrategy())
      passport.serializeUser(Passport.Collection.serializeUser())
      passport.deserializeUser(Passport.Collection.deserializeUser())
      app.use(
        session({
          secret: 'keyboard cat',
          saveUninitialized: true,
          resave: true,
          store: new mongoStore({ mongooseConnection: mongoose.connection })
        })
      );
      app.use(passport.initialize());
      app.use(passport.session());
    
      const rootValue = {
        me: function (args: any, req: any) {
          return req.user;
        }
      }
      app.use(
        GRAPHQL_REST,
        bodyParser.json(),
        graphqlExpress((req, res) => {
          // console.log('user: ', req.user);  
          return {
            schema,
            rootValue,
            context: {req}
          }
        })
      )
    

    我想如果你想复制回购协议,请告诉我。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Falieson    8 年前

    这个问题与Passport、Express或我的代码无关,而是与graphql Playerd有关 https://github.com/graphcool/graphql-playground/issues/576

    推荐文章