Проверка подлинности Django Rest JWT - обновление токена - PullRequest
0 голосов
/ 24 сентября 2018

У меня проблема с моим приложением Django REST и модулем аутентификации JWT (https://getblimp.github.io/django-rest-framework-jwt) в фазе обновления токена.

Логика по умолчанию для токена обновления говорит, что «токены без срока действия могут быть»обновлен «для получения нового токена с обновленным временем истечения». Время истечения устанавливается на BE.

JWT Framework предоставляет API для обновления токена, и вы должны использовать его для получения нового токена, поэтому время истечения сбрасывается каждый раз."действие пользователя" в веб-приложении. Это означает, что каждый вызов BE из моего Angular6 SPA должен сбрасывать время истечения токена.

Я думал, что есть три способа:

1) Каждый вызовчтобы быть от FE должен перезвонить api для обновления токена.Это означает, что количество звонков всегда дублируется.Не элегантно!

2) Вызовите API для обновления токена в соответствии с алгоритмом (в FE), чтобы избежать дублирования вызовов.Какой алгоритм?

3) Сбросьте время истечения токена, чтобы завершить каждый вызов от FE и использовать тот же токен от FE.Я не могу этого сделать!

Есть предложения?

Спасибо

1 Ответ

0 голосов
/ 24 сентября 2018

Вам не нужно обновлять свой токен при каждом вызове API.Всего за несколько минут до истечения срока.Большинство токенов содержат время истечения.Поэтому вам нужно обновлять его каждый раз, когда он почти истекает.Примерно так: token.expiration - curenttime =< 5 minutes.

Я считаю, что есть некоторые библиотеки, которые могут сделать это для вас.Может быть Auth0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...