From 31abe8d67ecc4fba3d580dd59fbd7c5b11d8aca5 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 28 Aug 2023 17:55:14 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(utils.py):=20fix=20missing?= =?UTF-8?q?=20return=20statement=20in=20api=5Fkey=5Fsecurity=20function=20?= =?UTF-8?q?=F0=9F=94=80=20refactor(utils.py):=20refactor=20create=5Fsuper?= =?UTF-8?q?=5Fuser=20function=20to=20use=20Optional=20types=20for=20userna?= =?UTF-8?q?me=20and=20password=20parameters?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/services/auth/utils.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/backend/langflow/services/auth/utils.py b/src/backend/langflow/services/auth/utils.py index 8377b26cb..333ba226b 100644 --- a/src/backend/langflow/services/auth/utils.py +++ b/src/backend/langflow/services/auth/utils.py @@ -36,7 +36,11 @@ async def api_key_security( settings_manager = get_settings_manager() result = None if settings_manager.auth_settings.AUTO_LOGIN: - return settings_manager.auth_settings.API_KEY_SECRET_KEY + # Get the first user + settings_manager.auth_settings.FIRST_SUPERUSER + result = get_user_by_username( + db, settings_manager.auth_settings.FIRST_SUPERUSER + ) elif not query_param and not header_param: raise HTTPException( @@ -50,13 +54,15 @@ async def api_key_security( else: result = check_key(db, header_param) - if result: - return result - else: + if not result: raise HTTPException( status_code=status.HTTP_403_FORBIDDEN, detail="Invalid or missing API key", ) + if isinstance(result, ApiKey): + return result.user + elif isinstance(result, User): + return result async def get_current_user( @@ -139,7 +145,9 @@ def create_token(data: dict, expires_delta: timedelta): def create_super_user( - db: Session = Depends(get_session), username: str = None, password: str = None + db: Session = Depends(get_session), + username: Optional[str] = None, + password: Optional[str] = None, ) -> User: settings_manager = get_settings_manager()