我有一個非常簡單的node.js應用程序構建在Express上,它一直使用會話內存存儲處理身份驗證。基本上,用戶通過登錄:SPA和node.js服務器的身份驗證
app.post('/sessions', function(req, res) {
// check username/password and if valid set authenticated to true
if (authenticated){
req.session.user = req.body.username;
} ...
});
然後從瀏覽器中的requiresLogin中間件函數被調用,檢查,看看是否在會話用戶屬性已設置每個呼叫。
我現在正在過渡應用程序基本上只提供一個服務,可能會或可能不會在瀏覽器中使用,所以,而不是使用Cookie /會話,我正在考慮更改系統,以便發佈到/ getToken(而不是/會話),它將返回一個與用戶帳戶關聯的臨時隨機令牌,然後可以使用該令牌一段時間訪問該服務。然後使用該服務需要在每次調用中包含有效的令牌。 (我認爲這會比每次傳遞用戶名/密碼都好,這樣在獲得令牌後,密碼就不必存儲在客戶計算機的內存中了)
這樣的系統基本上只是與上述當前系統一樣安全嗎?還是有更加標準/安全的方式來處理這個問題?處理這種事情的標準方式是什麼?
在此先感謝您的幫助!
謝謝,這是一篇非常有趣的文章! – 2012-07-31 17:27:09