Использование JWT в Django - автоматическое обновление токена после окончания 'ACCESS_TOKEN_LIFETIME'

Я хочу реализовать simpleJWT в API таким образом, чтобы сгенерированный токен отправлялся в API запрос и если время жизни JWT истекает, то токен автоматически обновляется и с этого момента в API запросе должен использоваться новый токен. Мой код customrequest --->

def _get_jwt(self):
        refresh = RefreshToken.for_user(self.user)

        return {
            'refresh': str(refresh),
            'access': str(refresh.access_token),
        }

    def _get_authorization_headers(self):
        """
        This function returns authorization headers including token
        Which is to be passed in post method
        Returns:
            This function returns dictionary that contains Authorization (Token) and content-type
        """
        if self.jwt:
            # access_token = 
            headers = {"Authorization": "Bearer {}".format(self._get_jwt()["access"]), "content-type": "application/json"}
        else:
            headers = {"Authorization": "Token {}".format(self._get_token(self.token)), "content-type": "application/json"}
        return headers

    def post(self, url=None, data=None):
        """
        This function sends post request to the url
        Params:
        url = endpoint where we want to send post request
        data = data to be sent on that endpoint
        """
        url = self.url + url
        headers = self._get_authorization_headers()
        result = requests.post(url, data, headers=headers)
        return result.text

в настоящее время я использую этот подход, но проблема в том, что токен, который генерируется в первый раз, тот же самый токен находится в заголовках даже после того, как время жизни JWT истекает через 5 минут('ACCESS_TOKEN_LIFETIME': timedelta(minutes=5) ), и я хочу использовать новый токен после каждого истечения срока действия токена.

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