refactor: middleware and refresh

This commit is contained in:
2025-06-10 17:47:46 +05:00
parent d7a5109d8e
commit e114f963ab
4 changed files with 35 additions and 49 deletions

View File

@@ -91,25 +91,21 @@ async def refresh(
request: Request, connection: AsyncConnection = Depends(get_connection_dep), Authorize: AuthJWT = Depends()
):
refresh_token = request.cookies.get("refresh_token_cookie")
# print("Refresh Token:", refresh_token)
if not refresh_token:
raise HTTPException(status_code=401, detail="Refresh token is missing")
try:
Authorize.jwt_refresh_token_required()
current_user = Authorize.get_jwt_subject()
except Exception as e:
await upgrade_old_refresh_token(connection, current_user, refresh_token)
Authorize.jwt_refresh_token_required(refresh_token)
current_user = Authorize._verified_token(refresh_token).get("sub")
except Exception:
await upgrade_old_refresh_token(connection, refresh_token)
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Invalid refresh token",
)
access_token_expires = timedelta(minutes=get_settings().ACCESS_TOKEN_EXPIRE_MINUTES)
new_access_token = Authorize.create_access_token(subject=current_user, expires_time=access_token_expires)
return Access(access_token=new_access_token)