From 55a3cac2df1c72fd5ea3a5f87f3c8459da984ba9 Mon Sep 17 00:00:00 2001 From: ValueOn AG Date: Thu, 18 Sep 2025 17:11:35 +0200 Subject: [PATCH] enhanced workflow --- app.py | 9 +- .../audio_google_interpreter_recording.webm | Bin 0 -> 212816 bytes env_dev.env | 2 +- env_int.env | 2 +- env_prod.env | 2 +- modules/connectors/connectorDbPostgre.py | 28 -- modules/interfaces/interfaceAppModel.py | 20 +- modules/interfaces/interfaceAppObjects.py | 95 +++++- modules/routes/routeSecurityAdmin.py | 292 ++++++++++++++++++ modules/routes/routeSecurityGoogle.py | 60 +++- modules/routes/routeSecurityLocal.py | 53 +++- modules/routes/routeSecurityMsft.py | 62 +++- modules/security/auth.py | 53 +++- notes/readme.md | 98 +----- 14 files changed, 621 insertions(+), 155 deletions(-) create mode 100644 debug_audio/audio_google_interpreter_recording.webm create mode 100644 modules/routes/routeSecurityAdmin.py diff --git a/app.py b/app.py index ad2d1309..ad932e9a 100644 --- a/app.py +++ b/app.py @@ -57,7 +57,8 @@ def initLogging(): '_send_single_request', 'httpcore.http11', 'httpx._client', - 'HTTP Request' + 'HTTP Request', + 'multipart.multipart' ] return not any(pattern in record.msg for pattern in http_debug_patterns) return True @@ -253,4 +254,8 @@ from modules.routes.routeVoiceGoogle import router as voiceGoogleRouter app.include_router(voiceGoogleRouter) from modules.routes.routeVoiceStreaming import router as voiceStreamingRouter -app.include_router(voiceStreamingRouter) \ No newline at end of file +app.include_router(voiceStreamingRouter) + +# Admin security routes (token listing and revocation, logs, db tools) +from modules.routes.routeSecurityAdmin import router as adminSecurityRouter +app.include_router(adminSecurityRouter) \ No newline at end of file diff --git a/debug_audio/audio_google_interpreter_recording.webm b/debug_audio/audio_google_interpreter_recording.webm new file mode 100644 index 0000000000000000000000000000000000000000..e9ecfe7cfbe17b7df1b1f021061bca28cda00adb GIT binary patch literal 212816 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%0Dozv$16EzIxt7Ig!e@=8HABMQ$~RBk;- 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μ&HPdyh5)j^qoN-O>P*3$pf>5|IGi@cWnV-F+W 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℞rjh2Cj95BFqnK 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 None: - """No-op: Database handles data consistency automatically.""" - # No caching with proper database - PostgreSQL handles consistency - pass - # Public API def getTables(self) -> List[str]: diff --git a/modules/interfaces/interfaceAppModel.py b/modules/interfaces/interfaceAppModel.py index 15e2fbcb..e8ca0caa 100644 --- a/modules/interfaces/interfaceAppModel.py +++ b/modules/interfaces/interfaceAppModel.py @@ -29,6 +29,11 @@ class ConnectionStatus(str, Enum): REVOKED = "revoked" PENDING = "pending" +class TokenStatus(str, Enum): + """Status of an issued gateway JWT access token""" + ACTIVE = "active" + REVOKED = "revoked" + class Mandate(BaseModel, ModelMixin): """Data model for a mandate""" id: str = Field( @@ -321,6 +326,13 @@ class Token(BaseModel, ModelMixin): expiresAt: float = Field(description="When the token expires (UTC timestamp in seconds)") tokenRefresh: Optional[str] = None createdAt: Optional[float] = Field(None, description="When the token was created (UTC timestamp in seconds)") + # Revocation and session tracking (for LOCAL gateway JWTs) + status: TokenStatus = Field(default=TokenStatus.ACTIVE, description="Token status: active/revoked") + revokedAt: Optional[float] = Field(None, description="When the token was revoked (UTC timestamp in seconds)") + revokedBy: Optional[str] = Field(None, description="User ID who revoked the token (admin/self)") + reason: Optional[str] = Field(None, description="Optional revocation reason") + sessionId: Optional[str] = Field(None, description="Logical session grouping for logout revocation") + mandateId: Optional[str] = Field(None, description="Mandate ID for tenant scoping of the token") class Config: useEnumValues = True @@ -338,7 +350,13 @@ register_model_labels( "tokenType": {"en": "Token Type", "fr": "Type de jeton"}, "expiresAt": {"en": "Expires At", "fr": "Expire le"}, "tokenRefresh": {"en": "Refresh Token", "fr": "Jeton de rafraîchissement"}, - "createdAt": {"en": "Created At", "fr": "Créé le"} + "createdAt": {"en": "Created At", "fr": "Créé le"}, + "status": {"en": "Status", "fr": "Statut"}, + "revokedAt": {"en": "Revoked At", "fr": "Révoqué le"}, + "revokedBy": {"en": "Revoked By", "fr": "Révoqué par"}, + "reason": {"en": "Reason", "fr": "Raison"}, + "sessionId": {"en": "Session ID", "fr": "ID de session"}, + "mandateId": {"en": "Mandate ID", "fr": "ID de mandat"} } ) diff --git a/modules/interfaces/interfaceAppObjects.py b/modules/interfaces/interfaceAppObjects.py index bc786fe1..ed8fdca1 100644 --- a/modules/interfaces/interfaceAppObjects.py +++ b/modules/interfaces/interfaceAppObjects.py @@ -20,7 +20,7 @@ from modules.interfaces.interfaceAppAccess import AppAccess from modules.interfaces.interfaceAppModel import ( User, Mandate, UserInDB, UserConnection, AuthAuthority, UserPrivilege, - ConnectionStatus, Token, AuthEvent, + ConnectionStatus, Token, AuthEvent, TokenStatus, DataNeutraliserConfig, DataNeutralizerAttributes ) @@ -949,6 +949,99 @@ class AppObjects: logger.error(f"Error deleting connection token for connectionId {connectionId}: {str(e)}") raise + # ===================== + # Token revocation (LOCAL gateway JWTs) + # ===================== + def findActiveTokenById(self, tokenId: str, userId: str, authority: AuthAuthority, sessionId: str = None, mandateId: str = None) -> Optional[Token]: + """Find an active access token by its id (jti) with optional session/tenant scoping.""" + try: + recordFilter = { + "id": tokenId, + "userId": userId, + "authority": authority.value if hasattr(authority, 'value') else str(authority), + "status": TokenStatus.ACTIVE, + } + if sessionId is not None: + recordFilter["sessionId"] = sessionId + if mandateId is not None: + recordFilter["mandateId"] = mandateId + tokens = self.db.getRecordset(Token, recordFilter=recordFilter) + if not tokens: + return None + return Token(**tokens[0]) + except Exception as e: + logger.error(f"Error finding active token by id {tokenId}: {str(e)}") + return None + + def revokeTokenById(self, tokenId: str, revokedBy: str, reason: str = None) -> bool: + """Revoke a single token by id by setting status fields (no delete).""" + try: + existing = self.db.getRecordset(Token, recordFilter={"id": tokenId}) + if not existing: + return False + token = existing[0] + if token.get("status") == TokenStatus.REVOKED: + return True + tokenUpdate = { + "status": TokenStatus.REVOKED, + "revokedAt": get_utc_timestamp(), + "revokedBy": revokedBy, + "reason": reason or "revoked" + } + self.db.recordModify(Token, tokenId, tokenUpdate) + return True + except Exception as e: + logger.error(f"Error revoking token {tokenId}: {str(e)}") + return False + + def revokeTokensBySessionId(self, sessionId: str, userId: str, authority: AuthAuthority, revokedBy: str, reason: str = None) -> int: + """Revoke all tokens of a session for a user/authority.""" + try: + tokens = self.db.getRecordset(Token, recordFilter={ + "userId": userId, + "authority": authority.value if hasattr(authority, 'value') else str(authority), + "sessionId": sessionId, + "status": TokenStatus.ACTIVE + }) + count = 0 + for t in tokens: + self.db.recordModify(Token, t["id"], { + "status": TokenStatus.REVOKED, + "revokedAt": get_utc_timestamp(), + "revokedBy": revokedBy, + "reason": reason or "session logout" + }) + count += 1 + return count + except Exception as e: + logger.error(f"Error revoking tokens for session {sessionId}: {str(e)}") + return 0 + + def revokeTokensByUser(self, userId: str, authority: AuthAuthority = None, mandateId: str = None, revokedBy: str = None, reason: str = None) -> int: + """Revoke all active tokens for a user, optionally filtered by authority/mandate.""" + try: + # Fetch all active tokens for user (optionally filtered by authority) + recordFilter = { + "userId": userId, + "status": TokenStatus.ACTIVE, + } + if authority is not None: + recordFilter["authority"] = authority.value if hasattr(authority, 'value') else str(authority) + tokens = self.db.getRecordset(Token, recordFilter=recordFilter) + count = 0 + for t in tokens: + self.db.recordModify(Token, t["id"], { + "status": TokenStatus.REVOKED, + "revokedAt": get_utc_timestamp(), + "revokedBy": revokedBy, + "reason": reason or "admin revoke" + }) + count += 1 + return count + except Exception as e: + logger.error(f"Error revoking tokens for user {userId}: {str(e)}") + return 0 + def cleanupExpiredTokens(self) -> int: """Clean up expired tokens for all connections, returns count of cleaned tokens""" try: diff --git a/modules/routes/routeSecurityAdmin.py b/modules/routes/routeSecurityAdmin.py new file mode 100644 index 00000000..2b509a0e --- /dev/null +++ b/modules/routes/routeSecurityAdmin.py @@ -0,0 +1,292 @@ +from fastapi import APIRouter, HTTPException, Depends, status, Request, Body +from fastapi.responses import FileResponse, JSONResponse +from typing import Optional, Dict, Any, List +import os +import logging + +from modules.security.auth import getCurrentUser, limiter +from modules.interfaces.interfaceAppObjects import getInterface, getRootInterface +from modules.interfaces.interfaceAppModel import User, UserInDB, AuthAuthority, Token +from modules.shared.configuration import APP_CONFIG + +logger = logging.getLogger(__name__) + +router = APIRouter( + prefix="/api/admin", + tags=["Admin"], + responses={ + 404: {"description": "Not found"}, + 400: {"description": "Bad request"}, + 401: {"description": "Unauthorized"}, + 403: {"description": "Forbidden"}, + 500: {"description": "Internal server error"} + } +) + +def _ensure_admin_scope(current_user: User, target_mandate_id: Optional[str] = None) -> None: + if current_user.privilege not in ("admin", "sysadmin"): + raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="Admin privileges required") + if current_user.privilege == "admin": + if target_mandate_id and str(target_mandate_id) != str(current_user.mandateId): + raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="Forbidden for target mandate") + + +# ---------------------- +# Token listing and revocation +# ---------------------- + +@router.get("/tokens") +@limiter.limit("30/minute") +async def list_tokens( + request: Request, + currentUser: User = Depends(getCurrentUser), + userId: Optional[str] = None, + authority: Optional[str] = None, + sessionId: Optional[str] = None, + statusFilter: Optional[str] = None, + connectionId: Optional[str] = None, +) -> List[Dict[str, Any]]: + try: + appInterface = getRootInterface() + target_mandate = currentUser.mandateId + _ensure_admin_scope(currentUser, target_mandate) + + recordFilter: Dict[str, Any] = {} + if userId: + recordFilter["userId"] = userId + if authority: + recordFilter["authority"] = authority + if sessionId: + recordFilter["sessionId"] = sessionId + if connectionId: + recordFilter["connectionId"] = connectionId + if statusFilter: + recordFilter["status"] = statusFilter + if currentUser.privilege == "admin": + recordFilter["mandateId"] = str(currentUser.mandateId) + + tokens = appInterface.db.getRecordset(Token, recordFilter=recordFilter) + return tokens + except HTTPException: + raise + except Exception as e: + logger.error(f"Error listing tokens: {str(e)}") + raise HTTPException(status_code=500, detail="Failed to list tokens") + + +@router.post("/tokens/revoke/user") +@limiter.limit("30/minute") +async def revoke_tokens_by_user( + request: Request, + currentUser: User = Depends(getCurrentUser), + payload: Dict[str, Any] = Body(...) +) -> Dict[str, Any]: + try: + userId = payload.get("userId") + authority = payload.get("authority") + reason = payload.get("reason", "admin revoke") + if not userId: + raise HTTPException(status_code=400, detail="userId is required") + + appInterface = getRootInterface() + # Tenant scope check + target_user = appInterface.db.getRecordset(User, recordFilter={"id": userId}) + target_mandate = target_user[0].get("mandateId") if target_user else None + _ensure_admin_scope(currentUser, target_mandate) + + count = appInterface.revokeTokensByUser( + userId=userId, + authority=AuthAuthority(authority) if authority else None, + mandateId=None if currentUser.privilege == "sysadmin" else str(currentUser.mandateId), + revokedBy=currentUser.id, + reason=reason + ) + return {"revoked": count} + except HTTPException: + raise + except Exception as e: + logger.error(f"Error revoking tokens by user: {str(e)}") + raise HTTPException(status_code=500, detail="Failed to revoke tokens") + + +@router.post("/tokens/revoke/session") +@limiter.limit("30/minute") +async def revoke_tokens_by_session( + request: Request, + currentUser: User = Depends(getCurrentUser), + payload: Dict[str, Any] = Body(...) +) -> Dict[str, Any]: + try: + userId = payload.get("userId") + sessionId = payload.get("sessionId") + authority = payload.get("authority", "local") + reason = payload.get("reason", "admin session revoke") + if not userId or not sessionId: + raise HTTPException(status_code=400, detail="userId and sessionId are required") + + appInterface = getRootInterface() + target_user = appInterface.db.getRecordset(User, recordFilter={"id": userId}) + target_mandate = target_user[0].get("mandateId") if target_user else None + _ensure_admin_scope(currentUser, target_mandate) + + count = appInterface.revokeTokensBySessionId( + sessionId=sessionId, + userId=userId, + authority=AuthAuthority(authority), + revokedBy=currentUser.id, + reason=reason + ) + return {"revoked": count} + except HTTPException: + raise + except Exception as e: + logger.error(f"Error revoking tokens by session: {str(e)}") + raise HTTPException(status_code=500, detail="Failed to revoke session tokens") + + +@router.post("/tokens/revoke/id") +@limiter.limit("30/minute") +async def revoke_token_by_id( + request: Request, + currentUser: User = Depends(getCurrentUser), + payload: Dict[str, Any] = Body(...) +) -> Dict[str, Any]: + try: + tokenId = payload.get("tokenId") + reason = payload.get("reason", "admin revoke") + if not tokenId: + raise HTTPException(status_code=400, detail="tokenId is required") + appInterface = getRootInterface() + # Load token to check tenant scope for admins + tokens = appInterface.db.getRecordset(Token, recordFilter={"id": tokenId}) + if not tokens: + return {"revoked": 0} + target_mandate = tokens[0].get("mandateId") + _ensure_admin_scope(currentUser, target_mandate) + + ok = appInterface.revokeTokenById(tokenId, revokedBy=currentUser.id, reason=reason) + return {"revoked": 1 if ok else 0} + except HTTPException: + raise + except Exception as e: + logger.error(f"Error revoking token by id: {str(e)}") + raise HTTPException(status_code=500, detail="Failed to revoke token") + + +@router.post("/tokens/revoke/mandate") +@limiter.limit("10/minute") +async def revoke_tokens_by_mandate( + request: Request, + currentUser: User = Depends(getCurrentUser), + payload: Dict[str, Any] = Body(...) +) -> Dict[str, Any]: + try: + mandateId = payload.get("mandateId") + authority = payload.get("authority", "local") + reason = payload.get("reason", "admin mandate revoke") + if not mandateId: + raise HTTPException(status_code=400, detail="mandateId is required") + + _ensure_admin_scope(currentUser, mandateId) + + # Revoke for all users in mandate + appInterface = getRootInterface() + # IMPORTANT: user rows are stored as UserInDB in the database + users = appInterface.db.getRecordset(UserInDB, recordFilter={"mandateId": mandateId}) + total = 0 + for u in users: + # Revoke regardless of token.mandateId to also catch legacy tokens without mandateId + total += appInterface.revokeTokensByUser( + userId=u["id"], + authority=AuthAuthority(authority), + mandateId=None, + revokedBy=currentUser.id, + reason=reason + ) + return {"revoked": total} + except HTTPException: + raise + except Exception as e: + logger.error(f"Error revoking tokens by mandate: {str(e)}") + raise HTTPException(status_code=500, detail="Failed to revoke mandate tokens") + + +# ---------------------- +# Logs download +# ---------------------- + +@router.get("/logs/{log_name}") +@limiter.limit("60/minute") +async def download_log( + request: Request, + currentUser: User = Depends(getCurrentUser), + log_name: str = "poweron" +): + _ensure_admin_scope(currentUser) + base_dir = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + # base_dir -> gateway + if log_name == "poweron": + file_path = os.path.join(base_dir, "poweron.log") + elif log_name == "audit": + file_path = os.path.join(base_dir, "audit.log") + else: + raise HTTPException(status_code=400, detail="Unsupported log name") + + if not os.path.exists(file_path): + raise HTTPException(status_code=404, detail=f"{log_name}.log not found") + return FileResponse(path=file_path, filename=f"{log_name}.log") + + +# ---------------------- +# Database admin +# ---------------------- + +@router.get("/databases") +@limiter.limit("10/minute") +async def list_databases( + request: Request, + currentUser: User = Depends(getCurrentUser) +) -> Dict[str, Any]: + _ensure_admin_scope(currentUser) + # For safety, expose only configured database name + db_name = APP_CONFIG.get("DB_DATABASE") or APP_CONFIG.get("DB_NAME") or "poweron" + return {"databases": [db_name]} + + +@router.post("/databases/drop") +@limiter.limit("5/minute") +async def drop_database( + request: Request, + currentUser: User = Depends(getCurrentUser), + payload: Dict[str, Any] = Body(...) +) -> Dict[str, Any]: + _ensure_admin_scope(currentUser) + db_name = payload.get("database") + configured_db = APP_CONFIG.get("DB_DATABASE") or APP_CONFIG.get("DB_NAME") or "poweron" + if not db_name or db_name != configured_db: + raise HTTPException(status_code=400, detail="Invalid database name") + + try: + appInterface = getRootInterface() + conn = appInterface.db.connection + with conn.cursor() as cursor: + # Drop all user tables (public schema) except system table + cursor.execute(""" + SELECT table_name FROM information_schema.tables + WHERE table_schema = 'public' AND table_type = 'BASE TABLE' + """) + tables = [row['table_name'] for row in cursor.fetchall()] + dropped = [] + for tbl in tables: + cursor.execute(f'DROP TABLE IF EXISTS "{tbl}" CASCADE') + dropped.append(tbl) + conn.commit() + logger.warning(f"Admin drop_database executed by {currentUser.id}: dropped tables: {dropped}") + return {"droppedTables": dropped} + except Exception as e: + logger.error(f"Error dropping database tables: {str(e)}") + if appInterface and appInterface.db and appInterface.db.connection: + appInterface.db.connection.rollback() + raise HTTPException(status_code=500, detail="Failed to drop database tables") + + diff --git a/modules/routes/routeSecurityGoogle.py b/modules/routes/routeSecurityGoogle.py index 2064f725..2967e1fc 100644 --- a/modules/routes/routeSecurityGoogle.py +++ b/modules/routes/routeSecurityGoogle.py @@ -160,12 +160,36 @@ async def login( scope=SCOPES ) + extra_params = { + "access_type": "offline", + "include_granted_scopes": "true", + "state": state_param + } + # If targeting specific connection, add login_hint and hd to preselect account + try: + if connectionId: + rootInterface = getRootInterface() + from modules.interfaces.interfaceAppModel import UserConnection + records = rootInterface.db.getRecordset(UserConnection, recordFilter={"id": connectionId}) + if records: + record = records[0] + login_hint = record.get("externalEmail") or record.get("externalUsername") + if login_hint: + extra_params["login_hint"] = login_hint + if "@" in login_hint: + extra_params["hd"] = login_hint.split("@", 1)[1] + # Avoid account picker when targeting a known account + extra_params["prompt"] = "consent" + else: + extra_params["prompt"] = "consent select_account" + else: + extra_params["prompt"] = "consent select_account" + except Exception: + extra_params["prompt"] = "consent select_account" + auth_url, state = oauth.authorization_url( "https://accounts.google.com/o/oauth2/auth", - access_type="offline", - include_granted_scopes="true", - state=state_param, - prompt="consent select_account" + **extra_params ) logger.info(f"Generated Google OAuth URL using OAuth2Session: {auth_url}") @@ -646,20 +670,34 @@ async def refresh_token( request: Request, currentUser: User = Depends(getCurrentUser) ) -> Dict[str, Any]: - """Refresh Google OAuth token for current user""" + """Refresh Google OAuth token for current user. Accepts optional { connectionId } to target a specific connection.""" try: appInterface = getInterface(currentUser) + # Optional: use provided connectionId to target a specific connection + payload = {} + try: + payload = await request.json() + except Exception: + payload = {} + requested_connection_id = payload.get("connectionId") if isinstance(payload, dict) else None + # Find Google connection for this user logger.debug(f"Looking for Google connection for user {currentUser.id}") - connections = appInterface.getUserConnections(currentUser.id) google_connection = None - - for conn in connections: - if conn.authority == AuthAuthority.GOOGLE: - google_connection = conn - break + if requested_connection_id: + for conn in connections: + if conn.id == requested_connection_id and conn.authority == AuthAuthority.GOOGLE: + google_connection = conn + break + if not google_connection: + raise HTTPException(status_code=status.HTTP_404_NOT_FOUND, detail="Requested Google connection not found for current user") + else: + for conn in connections: + if conn.authority == AuthAuthority.GOOGLE: + google_connection = conn + break if not google_connection: raise HTTPException( diff --git a/modules/routes/routeSecurityLocal.py b/modules/routes/routeSecurityLocal.py index 4f86d36e..c0b176b0 100644 --- a/modules/routes/routeSecurityLocal.py +++ b/modules/routes/routeSecurityLocal.py @@ -8,10 +8,12 @@ import logging from typing import Dict, Any, Optional from datetime import datetime, timedelta from fastapi.responses import JSONResponse, HTMLResponse, RedirectResponse +import uuid +from jose import jwt from pydantic import BaseModel # Import auth modules -from modules.security.auth import createAccessToken, getCurrentUser, limiter +from modules.security.auth import createAccessToken, getCurrentUser, limiter, SECRET_KEY, ALGORITHM from modules.interfaces.interfaceAppObjects import getInterface, getRootInterface from modules.interfaces.interfaceAppModel import User, UserInDB, AuthAuthority, UserPrivilege, Token from modules.shared.attributeUtils import ModelMixin @@ -33,7 +35,7 @@ router = APIRouter( ) @router.post("/login") -@limiter.limit("5/minute") +@limiter.limit("30/minute") async def login( request: Request, formData: OAuth2PasswordRequestForm = Depends(), @@ -84,6 +86,10 @@ async def login( "authenticationAuthority": AuthAuthority.LOCAL } + # Create session id and include in token claims for session-scoped logout + session_id = str(uuid.uuid4()) + token_data["sid"] = session_id + # Create access token access_token, expires_at = createAccessToken(token_data) if not access_token: @@ -95,13 +101,24 @@ async def login( # Get user-specific interface for token operations userInterface = getInterface(user) + # Decode JWT to get jti for DB persistence + try: + payload = jwt.decode(access_token, SECRET_KEY, algorithms=[ALGORITHM]) + jti = payload.get("jti") + except Exception as e: + logger.error(f"Failed to decode created JWT: {str(e)}") + raise HTTPException(status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail="Failed to finalize token") + # Create token token = Token( + id=jti, userId=user.id, authority=AuthAuthority.LOCAL, tokenAccess=access_token, tokenType="bearer", - expiresAt=expires_at.timestamp() + expiresAt=expires_at.timestamp(), + sessionId=session_id, + mandateId=str(user.mandateId) ) # Save access token @@ -111,7 +128,8 @@ async def login( response_data = { "type": "local_auth_success", "access_token": access_token, - "token_data": token.dict() + "token_data": token.dict(), + "authenticationAuthority": "local" } return response_data @@ -215,12 +233,29 @@ async def logout(request: Request, currentUser: User = Depends(getCurrentUser)) try: # Get user interface with current user context appInterface = getInterface(currentUser) - - # Note: JWT tokens are stateless, so no server-side cleanup needed - # The client should discard the JWT token on logout - + # Read bearer token from Authorization header to obtain session id / jti + auth_header = request.headers.get("Authorization") + if not auth_header or not auth_header.lower().startswith("bearer "): + raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="Missing Authorization header") + raw_token = auth_header.split(" ", 1)[1].strip() + try: + payload = jwt.decode(raw_token, SECRET_KEY, algorithms=[ALGORITHM]) + session_id = payload.get("sid") or payload.get("sessionId") + jti = payload.get("jti") + except Exception as e: + logger.error(f"Failed to decode JWT on logout: {str(e)}") + raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="Invalid token") + + revoked = 0 + if session_id: + revoked = appInterface.revokeTokensBySessionId(session_id, currentUser.id, AuthAuthority.LOCAL, revokedBy=currentUser.id, reason="logout") + elif jti: + appInterface.revokeTokenById(jti, revokedBy=currentUser.id, reason="logout") + revoked = 1 + return JSONResponse({ - "message": "Successfully logged out" + "message": "Successfully logged out", + "revokedTokens": revoked }) except Exception as e: diff --git a/modules/routes/routeSecurityMsft.py b/modules/routes/routeSecurityMsft.py index d14a0555..efde94a3 100644 --- a/modules/routes/routeSecurityMsft.py +++ b/modules/routes/routeSecurityMsft.py @@ -77,12 +77,40 @@ async def login( "connectionId": connectionId }) + # If a specific connection is targeted, set login_hint/domain_hint to preselect that account + login_kwargs = {} + if connectionId: + try: + rootInterface = getRootInterface() + # Fetch the connection by ID directly + records = rootInterface.db.getRecordset(UserConnection, recordFilter={"id": connectionId}) + if records: + record = records[0] + login_hint = record.get("externalEmail") or record.get("externalUsername") + if login_hint: + login_kwargs["login_hint"] = login_hint + # Derive domain hint from email/UPN + if "@" in login_hint: + domain = login_hint.split("@", 1)[1] + # Use common MSAL guidance: pass domain_hint to reduce account switching + login_kwargs["domain_hint"] = domain + # When targeting a specific account, avoid account picker + login_kwargs["prompt"] = "login" # force re-auth for that account only + else: + # Fall back to default behavior if connection not found + login_kwargs["prompt"] = "select_account" + except Exception: + login_kwargs["prompt"] = "select_account" + else: + # Generic login/connect flow: allow choosing account + login_kwargs["prompt"] = "select_account" + # MSAL automatically adds openid, profile, offline_access - we just need to provide our business scopes auth_url = msal_app.get_authorization_request_url( scopes=SCOPES, # Only our business scopes - MSAL adds the required ones automatically redirect_uri=REDIRECT_URI, state=state_param, - prompt="select_account" # Force account selection screen + **login_kwargs ) return RedirectResponse(auth_url) @@ -478,16 +506,36 @@ async def refresh_token( try: appInterface = getInterface(currentUser) + # Optional: use provided connectionId to target a specific connection + payload = {} + try: + payload = await request.json() + except Exception: + payload = {} + requested_connection_id = payload.get("connectionId") if isinstance(payload, dict) else None + # Find Microsoft connection for this user logger.debug(f"Looking for Microsoft connection for user {currentUser.id}") - connections = appInterface.getUserConnections(currentUser.id) msft_connection = None - - for conn in connections: - if conn.authority == AuthAuthority.MSFT: - msft_connection = conn - break + + if requested_connection_id: + # Validate the requested connection belongs to current user and is MSFT + for conn in connections: + if conn.id == requested_connection_id and conn.authority == AuthAuthority.MSFT: + msft_connection = conn + break + if not msft_connection: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail="Requested Microsoft connection not found for current user" + ) + else: + # Fallback: first MSFT connection + for conn in connections: + if conn.authority == AuthAuthority.MSFT: + msft_connection = conn + break if not msft_connection: raise HTTPException( diff --git a/modules/security/auth.py b/modules/security/auth.py index e82edddf..f314b065 100644 --- a/modules/security/auth.py +++ b/modules/security/auth.py @@ -4,6 +4,7 @@ Handles JWT-based authentication, token generation, and user context. """ from datetime import datetime, timedelta, timezone +import uuid from typing import Optional, Dict, Any, Tuple from fastapi import Depends, HTTPException, status, Request from fastapi.security import OAuth2PasswordBearer @@ -15,7 +16,7 @@ from slowapi.util import get_remote_address from modules.shared.configuration import APP_CONFIG from modules.shared.timezoneUtils import get_utc_now, get_utc_timestamp from modules.interfaces.interfaceAppObjects import getRootInterface -from modules.interfaces.interfaceAppModel import User +from modules.interfaces.interfaceAppModel import User, AuthAuthority, Token # Get Config Data SECRET_KEY = APP_CONFIG.get("APP_JWT_SECRET_SECRET") @@ -44,6 +45,9 @@ def createAccessToken(data: dict, expiresDelta: Optional[timedelta] = None) -> T Tuple of (JWT Token as string, expiration datetime) """ toEncode = data.copy() + # Ensure a token id (jti) exists for revocation tracking (only required for local, harmless otherwise) + if "jti" not in toEncode or not toEncode.get("jti"): + toEncode["jti"] = str(uuid.uuid4()) if expiresDelta: expire = get_utc_now() + expiresDelta @@ -86,6 +90,9 @@ def _getUserBase(token: str = Depends(oauth2Scheme)) -> User: # Extract mandate ID and user ID from token mandateId: str = payload.get("mandateId") userId: str = payload.get("userId") + authority: str = payload.get("authenticationAuthority") + tokenId: Optional[str] = payload.get("jti") + sessionId: Optional[str] = payload.get("sid") or payload.get("sessionId") if not mandateId or not userId: logger.error(f"Missing context in token: mandateId={mandateId}, userId={userId}") @@ -118,6 +125,50 @@ def _getUserBase(token: str = Depends(oauth2Scheme)) -> User: detail="User context has changed. Please log in again.", headers={"WWW-Authenticate": "Bearer"}, ) + + # For LOCAL gateway JWTs, enforce DB-backed token validity and revocation + try: + # Normalize authority to string for comparison + normalized_authority = (str(authority).lower() if authority is not None else None) + + # If we have a token id, check if a corresponding DB token exists for local authority + db_tokens = [] + if tokenId: + try: + db_tokens = appInterface.db.getRecordset( + Token, recordFilter={"id": tokenId} + ) + except Exception: + db_tokens = [] + + if db_tokens: + # There is a server record for this token; enforce status and context when local + db_token = db_tokens[0] + token_authority = str(db_token.get("authority", "")).lower() + if token_authority == str(AuthAuthority.LOCAL.value): + # Must be active and match user/session/mandate + active_token = appInterface.findActiveTokenById( + tokenId=tokenId, + userId=user.id, + authority=AuthAuthority.LOCAL, + sessionId=sessionId, + mandateId=str(mandateId) if mandateId else None, + ) + if not active_token: + logger.info( + f"Local JWT db record not active/valid: jti={tokenId}, userId={user.id}, mandateId={mandateId}, sessionId={sessionId}" + ) + raise credentialsException + else: + # No DB record for this token. If the claim says local (or missing/unknown), require DB record. + if normalized_authority in (None, "", str(AuthAuthority.LOCAL.value)): + logger.info("Local JWT without server record or missing authority claim") + raise credentialsException + except HTTPException: + raise + except Exception as e: + logger.error(f"Error during local token validation: {str(e)}") + raise credentialsException return user diff --git a/notes/readme.md b/notes/readme.md index 14233338..894a3910 100644 --- a/notes/readme.md +++ b/notes/readme.md @@ -1,91 +1,12 @@ -# Data Platform - Multi-Agent Service +### Launch APP -Eine Full-Stack-Webapplikation für die Ausführung von Multi-Agent-Workflows zur Verarbeitung und Analyse von Daten basierend auf natürlichsprachlichen Benutzeranfragen. +cd .\frontend_agents\ +cls; python ./server.py -Hier: http://localhost:8000/docs +conda activate C:\Users\pmots\anaconda3\envs\poweron +cd .\gateway\ +cls; uvicorn app:app --host 0.0.0.0 --port 8000 -## Übersicht - -Das System ermöglicht Benutzern: -- Hochladen und Verwalten verschiedener Datendateien -- Definieren von Prompts/Anweisungen für KI-Agenten -- Auswählen und Kombinieren spezialisierter Agenten -- Ausführen von Workflows mit Echtzeit-Protokollierung -- Visualisieren und Verwalten der Ergebnisse - -## Projektstruktur - -Das Projekt besteht aus zwei Hauptkomponenten: - -### Frontend (HTML/CSS/JavaScript) - -- `index.html` - Hauptstruktur der Benutzeroberfläche -- `styles.css` - Umfangreiches CSS für das responsive Design -- `script.js` - Client-seitige Logik für Interaktionen - -### Backend (Python/FastAPI) - -- `app.py` - Hauptanwendung mit API-Endpunkten -- `models.py` - Datenmodelle und Validierungsschemas -- `database.py` - Datenpersistenz (JSON-basiert für Demo) -- `agent_service.py` - Multi-Agent-Orchestrierung -- `requirements.txt` - Python-Abhängigkeiten - -### Backend-Installation Lokal -0. lokal dev: (anaconda environment) conda activate poweron - -1. Virtuelle Umgebung erstellen und aktivieren: - ```bash - python -m venv venv - source venv/bin/activate # Linux/Mac - venv\Scripts\activate # Windows - ``` - -2. Abhängigkeiten installieren: - ```bash - pip install -r requirements.txt - ``` - -3. Server starten: - ```bash - uvicorn app:app --reload --host 0.0.0.0 --port 8000 - ``` - -4. Zugangspunkte: - - Frontend: `http://localhost:8080` - - Backend API: `http://localhost:8000` - - API-Dokumentation: `http://localhost:8000/docs` - -### Installation inazure WEBAPP -Configuration: -- Python version <= 3.11 -- Startup command: cd gwserver && uvicorn app:app --host 0.0.0.0 --port 8000 -Environment varibales: -- Neue Variable PORT=8000 - -### DEV TOOLS -Kill all processes on port 8000 -netsh advfirewall firewall add rule name="Close_Port_8000" dir=in action=block protocol=TCP localport=8000 -netsh advfirewall firewall delete rule name="Close_Port_8000" - - -### Datenbank-Migration -Für größere Installationen die JSON-basierte Datenbank ersetzen durch: -- PostgreSQL für relationale Daten -- MongoDB für Dokumente und unstrukturierte Daten -- Redis für Caching und Workflow-Status - -## Technische Details - -### Frontend-Architektur -- Vanilla JavaScript ohne Framework-Abhängigkeiten -- Modularer CSS-Ansatz für einfache Anpassungen -- Responsive Design für Desktop und mobile Nutzung - -### Backend-Architektur -- FastAPI für hohe Performance und automatische API-Dokumentation -- Asynchrone Verarbeitung für parallele Agent-Ausführung -- Erweiterbare Service-Struktur für einfache Integration neuer Agententypen ### git permanent login with vs code git remote set-url origin https://valueon@github.com/valueonag/gateway @@ -116,10 +37,3 @@ foreach ($run in $runs) { Write-Host "Deleting run $run" echo "y" | gh run delete $run } - - -## Lizenz - -PRIVATE LICENSE PATRICK MOTSCH ValueOn AG ---- -Für Fragen oder Unterstützung wenden Sie sich bitte an p.motsch@valueon.ch \ No newline at end of file