This commit is contained in:
Timothy Jaeryang Baek 2026-09-07 12:15:20 -04:00
parent 3aabbfebfe
commit b71744b178
3 changed files with 4 additions and 7 deletions

View file

@ -217,6 +217,7 @@ class ToolServerConnection(BaseModel):
path: str
type: str | None = 'openapi' # openapi, mcp
auth_type: str | None
forward_cookies: bool = False
headers: dict | str | None = None
key: str | None
config: dict | None
@ -306,6 +307,7 @@ class TerminalServerConnection(BaseModel):
key: str | None = ''
auth_type: str | None = 'bearer'
forward_cookies: bool = False
config: dict | None = None

View file

@ -159,7 +159,7 @@ async def get_headers_and_cookies(
metadata: dict | None = None,
user: UserModel = None,
):
cookies = {}
cookies = getattr(request, 'cookies', {}) if config.get('forward_cookies', False) else {}
headers = {
'Content-Type': 'application/json',
**(
@ -189,11 +189,8 @@ async def get_headers_and_cookies(
elif auth_type == 'none':
token = None
elif auth_type == 'session':
cookies = request.cookies
token = request.state.token.credentials
elif auth_type == 'system_oauth':
cookies = request.cookies
oauth_token = None
try:
if request.cookies.get('oauth_session_id', None):

View file

@ -145,16 +145,14 @@ async def proxy_terminal(
return JSONResponse({'error': 'A saved chat is required for this terminal'}, status_code=409)
if context_id:
headers[TERMINAL_CONTEXT_HEADER] = context_id
cookies = {}
cookies = getattr(request, 'cookies', {}) if connection.get('forward_cookies', False) else {}
auth_type = connection.get('auth_type', 'bearer')
if auth_type == 'bearer':
headers.update(bearer_auth_header(connection.get('key', '')))
elif auth_type == 'session':
cookies = request.cookies
headers.update(bearer_auth_header(request.state.token.credentials))
elif auth_type == 'system_oauth':
cookies = request.cookies
# Resolve the token server-side from the caller's OAuth session; never trust a client header.
oauth_token = None
try: