Spaces:
Running
Running
Making sure refresh token is returned at all time
Browse files- auth/services.py +6 -8
auth/services.py
CHANGED
@@ -44,7 +44,7 @@ async def get_refresh_token(token: str, db):
|
|
44 |
)
|
45 |
_verify_user_access(user=user)
|
46 |
|
47 |
-
return await _get_user_token(user=user
|
48 |
|
49 |
def _verify_user_access(user: User):
|
50 |
if not user.is_active:
|
@@ -54,22 +54,20 @@ def _verify_user_access(user: User):
|
|
54 |
)
|
55 |
return True
|
56 |
|
57 |
-
async def _get_user_token(user: User
|
58 |
payload = {"id": user.id, "sub": user.email}
|
59 |
|
60 |
access_token_expiry = timedelta(minutes=settings.ACCESS_TOKEN_EXPIRE_MINUTES)
|
61 |
access_token = await create_access_token(data=payload, expiry=access_token_expiry)
|
62 |
|
63 |
-
#
|
64 |
-
|
65 |
-
refresh_token_value = await create_refresh_token(data=payload)
|
66 |
-
else:
|
67 |
-
refresh_token_value = None
|
68 |
|
69 |
return TokenResponse(
|
70 |
access_token=access_token,
|
71 |
-
refresh_token=refresh_token_value,
|
72 |
expires_in=access_token_expiry.seconds
|
73 |
)
|
74 |
|
75 |
|
|
|
|
44 |
)
|
45 |
_verify_user_access(user=user)
|
46 |
|
47 |
+
return await _get_user_token(user=user)
|
48 |
|
49 |
def _verify_user_access(user: User):
|
50 |
if not user.is_active:
|
|
|
54 |
)
|
55 |
return True
|
56 |
|
57 |
+
async def _get_user_token(user: User):
|
58 |
payload = {"id": user.id, "sub": user.email}
|
59 |
|
60 |
access_token_expiry = timedelta(minutes=settings.ACCESS_TOKEN_EXPIRE_MINUTES)
|
61 |
access_token = await create_access_token(data=payload, expiry=access_token_expiry)
|
62 |
|
63 |
+
# Always generate a refresh token
|
64 |
+
refresh_token_value = await create_refresh_token(data=payload)
|
|
|
|
|
|
|
65 |
|
66 |
return TokenResponse(
|
67 |
access_token=access_token,
|
68 |
+
refresh_token=refresh_token_value,
|
69 |
expires_in=access_token_expiry.seconds
|
70 |
)
|
71 |
|
72 |
|
73 |
+
|