Как обрабатывать механизм истечения срока действия JWT в собственных приложениях

#android #react-native #jwt #django-rest-framework-jwt #jwt-auth

#Android #реагировать-native #django-rest-framework-jwt #jwt

Вопрос:

Я создаю гибридное приложение на React Native, мы используем Django rest framework на серверной части. Мы используем JWT для защиты приложения, вариант использования приложения предполагает хранение конфиденциальной информации.

Проблема в истечении срока действия JWT. Мне нужно подключиться к API с помощью accessToken, чтобы получить новый токен, это работает нормально, и токен не истечет, если пользователь открывает приложение каждый день, что практически невозможно.

Следовательно, пользователь выходит из системы каждые несколько дней, поскольку к моменту открытия приложения срок действия токена истек. Есть ли лучший способ справиться с этим? Facebook app, Google pay app никогда не выходят из системы пользователя.

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

Комментарии:

1. Вам нужно решение для подхода React-Native или для собственного Android?

Ответ №1:

Вы не должны использовать access_token для получения нового! Правильный способ — предоставлять пользователю refresh_token каждый раз, когда вы выдаете access_token. refresh_token — это токен одноразового использования с длительным сроком службы, который используется для получения нового access_token. Вы можете выполнить поиск, чтобы узнать больше о refresh_token.