2016-10-20 66 views
1

我正在開發一個MEAN應用,我的問題是我想銷燬由智威湯遜生成的令牌。起初我以爲註銷功能將工作:智威湯遜在註銷時破壞令牌

router.get('/logout', function(req, res) { 
    req.logOut(); 
    res.status(200).json({ 
    status: 'Bye!' 
    }); 
}); 

但現在我意識到,「req.logOut()」只是一本護照的功能並不做任何標記。

我在請求的頭部發送來自客戶端的令牌,因此如果用戶在其他地方將令牌保存在其他地方,則在註銷時,如果令牌包含在請求中,用戶仍可以訪問應用。所以我的問題如下,我如何銷燬令牌?是否將它「存儲」在某個地方?它是否曾被自動銷燬?

回答

3

我沒有找到任何方法來銷燬簡單的JWT令牌。但我有一個解決你的問題的建議。

您可以將標記保存在每個會話的數據庫中。因此,您可以通過比較'來自數據庫的令牌'和'客戶端請求頭'中的令牌來驗證客戶端請求。註銷時,您可以刪除令牌表單數據庫。所以用戶在註銷後無法訪問應用程序。