Как выйти из системы и уничтожить токен в 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
.
Будьте успешны