2013-06-05 52 views
0

我在routes文件夾中有兩個文件 - index.jsapi.jsindex.js只發送帶有鏈接樣式,圖像和腳本的主模板頁面。 api.js管理所有的API調用。req.user在試圖從api方法獲取時未定義

我正在使用PassportJS實現身份驗證。身份驗證本身正常工作問題是,出於某種原因,當試圖從api.js端點訪問req.user時,我得到undefined,但是當它從index.js訪問時,它很好並且填充了正確的數據。

例如,我需要從api端點請求時發送所有用戶的帖子作爲JSON,所以我想獲得req.user.id或類似的東西,以向服務器端的數據庫發送請求。

配置Passport時我可能會錯過什麼?

+0

護照通過cookie中的會話ID對用戶進行反序列化,也許你不會發送cookie,或者會話出現問題。 – balazs

回答

0

您必須包括護照會話中間件之前所有的路線,因此它可以設置req.user

app.use(express.session({ secret: 'secret' })); 
app.use(passport.initialize()); 
app.use(passport.session()); 
app.use(app.router); 
app.use(myRoutes); 
0

確保你越來越。 _id而不是.id,這是在MongoDB中創建的默認ID。

相關問題