Как выйти из системы и уничтожить токен в PyJWT Django?

Я создал токен в PyJWT следующим образом:

import jwt
import datetime

payload = {
    "id": 1,
    "exp": datetime.datetime.utcnow() + datetime.timedelta(minutes=1000),
    "iat": datetime.datetime.utcnow()
}
token = jwt.encode(payload, 'secret', algorithm='HS256')

И послал на фронт, а также переправил мою полезную нагрузку следующим образом:

payload = jwt.decode(token, 'secret', algorithms=['HS256'])

Теперь я хочу уничтожить токен на сервере и выйти из системы. Как это сделать?

Я нашел решение. JWT токены не уничтожаются. И лучший способ для нас сделать это сделать таблицу в нашей базе данных как черный список и добавить мертвые токены в нее при вызове метода logout.
. А затем при попытке проверить валидность токена пользователя просто проверьте эту таблицу и если токен существует, вы не должны принимать пользователя и return User Not Authenticated.

Будьте успешны

Вернуться на верх