0
我快速設置看起來是這樣的:不能得到表達,graphql沿Passport用戶現場通過
// Set up router for the /api route.
const apiRouter = express.Router();
// Passport auth only applies to /api endpoints, not static resources
// or js bundles.
apiRouter.use(passport.initialize());
// (more passport initialization omitted for clarity)
// (other routes are added here, also omitted)
// Set up the graphql middleware
apiRouter.use('/gql', graphql(req => ({
schema,
rootValue: { db: req.db, user: req.user, req },
}));
// Now add the router to our app
app.use('/api', apiRouter);
Exerything作品除了在我的graphql解析方法是req.user
總是undefined
。所有添加到apiRouter的其他路由都可以看到req.user
。請求對象上的其他屬性如req.db
無處不在。就好像graphql中間件在護照中間件之前執行,但我的理解是,首先聲明的中間件也首先執行。
如果它返回'null'而不是'undefined',那肯定表明這個值已經發生了。您確定後端具有與此特定響應關聯的用戶值嗎? 'null'是它從某個地方返回的值,否則就是'undefined'。 – Dandy
對不起,我應該說undefined。 – Talin
我們需要看你的代碼處理傳遞'req'參數的請求。這肯定不會傳遞給用戶,但是我看不到'graphql'包中會干擾這個的任何內容。 – Dandy