auth service up running
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
from .core_response import AlchemyJsonResponse
|
||||
|
||||
__all__ = ["AlchemyJsonResponse"]
|
||||
__all__ = ["AlchemyJsonResponse"]
|
||||
|
||||
@@ -22,7 +22,7 @@ def save_access_token_to_redis(
|
||||
Employees,
|
||||
Staff,
|
||||
Addresses,
|
||||
OccupantTypes
|
||||
OccupantTypes,
|
||||
)
|
||||
|
||||
if not found_user:
|
||||
@@ -32,7 +32,9 @@ def save_access_token_to_redis(
|
||||
)
|
||||
|
||||
# Check user is already logged in or has a previous session
|
||||
already_tokens = AccessObjectActions.get_object_via_user_uu_id(user_id=found_user.uu_id)
|
||||
already_tokens = AccessObjectActions.get_object_via_user_uu_id(
|
||||
user_id=found_user.uu_id
|
||||
)
|
||||
for key, token_user in already_tokens.items():
|
||||
if token_user.get("domain", "") == domain:
|
||||
redis_cli.delete(key)
|
||||
|
||||
@@ -9,10 +9,10 @@ class AccessObjectActions:
|
||||
|
||||
@classmethod
|
||||
def save_object_to_redis(
|
||||
cls,
|
||||
access_token,
|
||||
model_object: typing.Union[OccupantTokenObject, EmployeeTokenObject],
|
||||
expiry_minutes: int = Auth.TOKEN_EXPIRE_MINUTES_30.total_seconds() // 60
|
||||
cls,
|
||||
access_token,
|
||||
model_object: typing.Union[OccupantTokenObject, EmployeeTokenObject],
|
||||
expiry_minutes: int = Auth.TOKEN_EXPIRE_MINUTES_30.total_seconds() // 60,
|
||||
) -> bool:
|
||||
"""Save access token object to Redis with expiry
|
||||
Args:
|
||||
@@ -28,17 +28,14 @@ class AccessObjectActions:
|
||||
RedisActions.save_object_to_redis(
|
||||
access_token=access_token,
|
||||
model_object=model_object,
|
||||
expiry_minutes=expiry_minutes
|
||||
expiry_minutes=expiry_minutes,
|
||||
)
|
||||
return True
|
||||
except Exception as e:
|
||||
print("Save Object to Redis Error: ", e)
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_503_SERVICE_UNAVAILABLE,
|
||||
detail=dict(
|
||||
message="Failed to save token to Redis",
|
||||
error=str(e)
|
||||
),
|
||||
detail=dict(message="Failed to save token to Redis", error=str(e)),
|
||||
)
|
||||
|
||||
@classmethod
|
||||
@@ -64,23 +61,21 @@ class AccessObjectActions:
|
||||
if not hasattr(request, "headers"):
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail=dict(
|
||||
message="Headers not found in request"
|
||||
)
|
||||
detail=dict(message="Headers not found in request"),
|
||||
)
|
||||
|
||||
|
||||
access_token = request.headers.get(Auth.ACCESS_TOKEN_TAG)
|
||||
if not access_token:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail=dict(
|
||||
message="Unauthorized user, please login"
|
||||
),
|
||||
detail=dict(message="Unauthorized user, please login"),
|
||||
)
|
||||
return access_token
|
||||
|
||||
@classmethod
|
||||
def get_token_object(cls, request) -> typing.Union[OccupantTokenObject, EmployeeTokenObject]:
|
||||
def get_token_object(
|
||||
cls, request
|
||||
) -> typing.Union[OccupantTokenObject, EmployeeTokenObject]:
|
||||
"""Get and validate token object from request
|
||||
Args:
|
||||
request: The request object
|
||||
@@ -93,18 +88,16 @@ class AccessObjectActions:
|
||||
return RedisActions.get_object_via_access_key(request)
|
||||
except Exception as e:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail=dict(
|
||||
message=str(e)
|
||||
)
|
||||
status_code=status.HTTP_401_UNAUTHORIZED, detail=dict(message=str(e))
|
||||
)
|
||||
|
||||
|
||||
@classmethod
|
||||
def get_object_via_access_key(
|
||||
cls, request,
|
||||
cls,
|
||||
request,
|
||||
) -> typing.Union[EmployeeTokenObject, OccupantTokenObject, None]:
|
||||
from api_configs import Auth
|
||||
|
||||
access_object = RedisActions.get_with_regex(
|
||||
value_regex=str(request.headers.get(Auth.ACCESS_TOKEN_TAG) + ":*")
|
||||
).data
|
||||
@@ -120,7 +113,7 @@ class AccessObjectActions:
|
||||
status_code=401,
|
||||
detail=dict(
|
||||
message="User type is not found in the token object. Please reach to your administrator."
|
||||
)
|
||||
),
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user