2017-09-07 170 views
1

我真不明白,爲什麼它是如此複雜,建立認證和會話使用Node.js的堅持簡單的例子

我在與會話持久性,被描述here麻煩。

也許,我的東西不明白...

所以,在SPA,當瀏覽器從UI POST方法制作fetch,護照和身份驗證數據庫中保存會話(如我設置) 。

下一步是什麼?

如何分辨陣營前端(瀏覽器,服務器......),它應適用新創建的cookie,並用它爲HMR,GraphQL和其他的東西以後的所有請求?

什麼我是所有後續請求到服務器指舊Cookie(不創建一個成功的驗證)和正確的人會永不擡頭......

一些解釋將不勝感激。

謝謝。

PS:仍在尋找與最新Next.js,Express和Passport身份驗證的簡單工作的例子。我一個星期卡住了這個問題...

回答

0

您可以向快遞的端點發出請求,這將返回您的信息...爲此您可以使用Axios,當它響應時,您可以設置像這樣的東西的cookie:

document.cookie = `id_token=${token}; expires=Thu, 18 Dec 2020 12:00:00 UTC` 

在我來說,我設置令牌,因爲我用的智威湯遜,當cookie設置,你可以要求它使用cookie-parser服務器端,所以,當你要驗證在用戶登錄,你可以檢查服務器(Next.js)上存在的cookie,並呈現模板,否則你可以重定向到另一種觀點......是這樣的:

server.get('/profile', (req, res) => { 
    const actualPage = '/profile'; 
    const logged = req.cookies['id_token'] 
    if (logged) { 
    return app.render(req, res, actualPage) 
    } 
    return res.redirect('/') 
}) 

如果你想看到完整的示例,請在此repo