2011-11-17 30 views
1

我的代碼曾用於工作,並且在未接觸它幾天後因爲cloud9ide無法正常工作,所以停止工作。每次使用everyauth模塊時,我都會收到req.loggedin未定義的內容。我做一個簡單:在everyauth中登錄未定義

app.get('/view/:htmlpage', function(req, res){ 
     console.log(req); 
     if(req.loggedIn) { 
      res.sendfile('./views/' + req.params.htmlpage + '.html'); 
     } 
     else{ 

      res.send('You need to be authenticated with a <a href="www.facebook.com">Facebook</a>'); 

     } 
    }); 

的REQ打印:

{會話:

// IGNORE ALL KIND OF STUFF // 

"loggedIn":true,"userId":"4ec448e67a06792a32000006"}}' }, 
hash: [Function], 
generate: [Function] }, 

有什麼不對?一切似乎找到,但我仍然得到undefined ...?

這裏是REQ的一個更大的摘錄:

sessionStore: 
    { sessions: 
     { 'OoYpzK3P9V5EuVzsaIzcENKA.u86589nxU+3B5y/DZ/GUWmLLd4hKiVMZQlM3uXpkpdk': '{"lastAccess":1321711710418,"cookie":{"originalMaxAge":14400000,"expires":"2011-11-19T18:08:30.421Z","httpOnly":true,"path":"/"}}', 
     'ro6CtsS269MqF9DhXHIYVzfi.VVqZHKF6DcGewMbS+myRWbeev6oMmJZEqWQ6oq0Y2mE': '{"lastAccess":1321711711837,"cookie":{"originalMaxAge":14400000,"expires":"2011-11-19T18:08:31.838Z","httpOnly":true,"path":"/"}}', 
     'AjXcalemAKkn534BBNDd1ouq.rl/JpdRKMMDoIuEj2IwEe77oesx5ZghAK4fInJT44ZQ': '{"lastAccess":1321711712927,"cookie":{"originalMaxAge":14400000,"expires":"2011-11-19T18:08:33.839Z","httpOnly":true,"path":"/"},"auth":{"facebook":{"user":{"id":"x","name":"x x","first_name":"x","last_name":"x","link":"http://www.facebook.com/x","username":"x","location":{"id":"x","name":"x, Ontario"},"education":[{"school":{"id":"x","name":"x"},"year":{"id":"x9","name":"2005"},"type":"High School"},{"school":{"id":"x","name":"x"},"year":{"id":"x","name":"2010"},"concentration":[{"id":"x","name":"x"}],"type":"x"}],"gender":"male","email":"x","timezone":-5,"locale":"fr_CA","verified":true,"updated_time":"2011-11-16T13:38:18+0000"},"accessToken":"AAAD8xT5k5w8BAIbAjZBe0z20idA2qSFIxBJXyQUVqHK0yDCSjYiyZCbtahwup8lpNN8ijWwVhJy5ZAPdwsb8IQoL2EUBq8FVtREjrY3V2gkhQObdC4u"},"loggedIn":true,"userId":"4ec448e66a06792c32000006"}}' }, 
    hash: [Function], 
    generate: [Function] }, 
    sessionID: 'SwW3fTOcQYCsJ7bRPJI3DsK4.YUolspdQE6fgM4gE/o6HNQfDrX+o94aTfgd4G8Hgv1k', 
    session: 
    { lastAccess: 1321711713901, 
    cookie: 
     { path: '/', 
     httpOnly: true, 
     _expires: Sat, 19 Nov 2011 18:08:33 GMT, 
     originalMaxAge: 14400000 } }, 
    logout: [Function], 
    _route_index: 1, 
+0

您是否收到錯誤訊息?如果你這樣做是什麼? – EhevuTov

+0

沒有錯誤信息,它只是不可能看到一個實例化的登錄。 – guiomie

+1

只是好奇的貴族 - 你有沒有想過這個?我剛開始使用everyauth,我無法弄清楚如何檢查某人正在登錄(就像你在做什麼),因爲沒有記錄的方法似乎工作... – thisissami

回答

3

使用

if(req.session.loggedIn) 

代替。

該會話是req對象的一部分。

+0

這仍然拉不確定。 req.loggedIn用於以前正常工作。不知道是否我更新了我的everyauth模塊,並且此功能已過時... – guiomie

+0

我在您的問題中看到它說'''sessions'''。這似乎是非標準的,但你可以嘗試'''req.sessions.loggedIn'''然後。如果您可以在console.log輸出中看到它,則可以使用正確的名稱訪問它。 – staackuser2

+0

會話實際上是具有更多屬性的更大對象的一部分。所以他們必須是再次獲得這種優雅的方式。 – guiomie