Created
October 25, 2018 16:08
-
-
Save yerkbn/d470bb6300c8158f137b39854f95e436 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from rest_framework.authtoken.models import Token | |
from datetime import timedelta | |
from django.utils import timezone | |
from django.conf import settings | |
#this return left time | |
def expires_in(token): | |
time_elapsed = timezone.now() - token.created | |
left_time = timedelta(seconds = settings.TOKEN_EXPIRED_AFTER_SECONDS) - time_elapsed | |
return left_time | |
# token checker if token expired or not | |
def is_token_expired(token): | |
return expires_in(token) < timedelta(seconds = 0) | |
# if token is expired new token will be established | |
# If token is expired then it will be removed | |
# and new one with different key will be created | |
def token_expire_handler(token): | |
is_expired = is_token_expired(token) | |
if is_expired: | |
token.delete() | |
token = Token.objects.create(user = token.user) | |
return is_expired, token |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment