logo out issues fixes
This commit is contained in:
@@ -17,23 +17,26 @@ def get_jwt_algorithm():
|
||||
return getattr(settings, 'JWT_ALGORITHM', 'HS256')
|
||||
|
||||
|
||||
def get_access_token_expiry():
|
||||
def get_access_token_expiry(remember_me=False):
|
||||
"""Get access token expiry time from settings"""
|
||||
return getattr(settings, 'JWT_ACCESS_TOKEN_EXPIRY', timedelta(minutes=15))
|
||||
if remember_me:
|
||||
return getattr(settings, 'JWT_ACCESS_TOKEN_EXPIRY_REMEMBER_ME', timedelta(days=20))
|
||||
return getattr(settings, 'JWT_ACCESS_TOKEN_EXPIRY', timedelta(hours=1))
|
||||
|
||||
|
||||
def get_refresh_token_expiry():
|
||||
"""Get refresh token expiry time from settings"""
|
||||
return getattr(settings, 'JWT_REFRESH_TOKEN_EXPIRY', timedelta(days=7))
|
||||
return getattr(settings, 'JWT_REFRESH_TOKEN_EXPIRY', timedelta(days=30))
|
||||
|
||||
|
||||
def generate_access_token(user, account=None):
|
||||
def generate_access_token(user, account=None, remember_me=False):
|
||||
"""
|
||||
Generate JWT access token for user
|
||||
|
||||
Args:
|
||||
user: User instance
|
||||
account: Account instance (optional, will use user.account if not provided)
|
||||
remember_me: bool - If True, use extended expiry (20 days)
|
||||
|
||||
Returns:
|
||||
str: JWT access token
|
||||
@@ -42,7 +45,7 @@ def generate_access_token(user, account=None):
|
||||
account = getattr(user, 'account', None)
|
||||
|
||||
now = timezone.now()
|
||||
expiry = now + get_access_token_expiry()
|
||||
expiry = now + get_access_token_expiry(remember_me=remember_me)
|
||||
|
||||
payload = {
|
||||
'user_id': user.id,
|
||||
@@ -51,6 +54,7 @@ def generate_access_token(user, account=None):
|
||||
'exp': int(expiry.timestamp()),
|
||||
'iat': int(now.timestamp()),
|
||||
'type': 'access',
|
||||
'remember_me': remember_me,
|
||||
}
|
||||
|
||||
token = jwt.encode(payload, get_jwt_secret_key(), algorithm=get_jwt_algorithm())
|
||||
|
||||
Reference in New Issue
Block a user