2016-10-20 10 views
1

Я разрабатываю приложение MEAN, проблема в том, что я хочу уничтожить токен, созданный JWT. Сначала я думал, что функция выхода из системы будет работа:JWT уничтожить токен при выходе из системы

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

Но теперь я понял, что «req.logOut()» это просто функция паспорт, который ничего в знак не делать.

Я отправляю токен от клиента в заголовке запроса, поэтому, если пользователь сохранил токен где-то еще, при выходе из системы пользователь все равно может получить доступ к приложению, если токен включен в запрос. Итак, мои вопросы таковы: как я могу уничтожить токен? Он где-то «хранится»? это когда-либо автоматически уничтожается?

ответ

3

Я не нашел способа уничтожить простой токен JWT. Но у меня есть предложение решить вашу проблему.

Вы можете сохранить токен в БД для каждой сессии. Таким образом, вы можете проверить запрос клиента, сравнив «токен из БД» с токеном в «заголовке запроса клиента». Во время выхода из системы вы можете удалить БД формы токена. Таким образом, пользователь не может получить доступ к приложению после выхода из системы.

 Смежные вопросы

  • Нет связанных вопросов^_^