Django остальные рамки JWT, удалить токен JWT - PullRequest
3 голосов
/ 11 марта 2019

Как истечь JWT токен django rest framework вручную?Потому что он не хранит токен в базе данных.Есть ли правильный способ истечения токена?

Я думаю продолжить с промежуточного программного обеспечения, где токен будет храниться для каждого пользователя.При каждом входе в систему мы будем обновлять токен в БД для пользователя.При каждом запросе мы извлекаем токен из запроса и сопоставляем его с сохраненным токеном, и если он не совпадает, мы возвращаем запрещенный.Я не знаю, как это правильно или нет !!

1 Ответ

1 голос
/ 11 марта 2019

Вы не можете истечь токен JWT, токен самодостаточен и может быть истек только после количества времени, которое хранится в его полезной нагрузке. То, что вы можете сделать, это использовать токен обновления и доступа и установить небольшое количество времени для токена доступа. С учетом вышесказанного вы должны обновить токен доступа по истечении срока действия. Вы должны сохранить свой токен обновления в базе данных, и когда вам нужно удалить токен доступа, вы можете запретить пользователю обновлять его с помощью обновления токена.

EDIT : Если вы хотите хранить токен в базе данных, вы, вероятно, вообще не хотите использовать JWT и авторизацию без сохранения состояния. Вместо этого придерживайтесь авторизации на основе сеанса. Если вы хотите истечь токен - вы можете просто удалить сессию из БД.

...