From 08ea548eb3b9b27b921796c11e275789b196f3c7 Mon Sep 17 00:00:00 2001 From: Volodymyr Vreshch Date: Sun, 30 Nov 2025 23:29:57 +0100 Subject: [PATCH] fix: resolve user ID mismatch in agent routes for device auth flow The JWT auth middleware sets req.user.userId, but agent routes were accessing req.user.id (only set during OAuth callback). This caused 'User not found' errors when publishing agents via CLI/device code auth. Updated all agent routes to support both authentication methods: - req.user.userId (JWT/device code auth) - req.user.id or req.user._id (OAuth callback auth) Affected routes: - publish.ts, delete.ts, update-metadata.ts (required auth) - get-agent.ts, search.ts, list.ts, versions.ts, get-version.ts, mcp-servers.ts (optional auth) --- packages/backend/src/routes/agents/delete.ts | 10 +++++++++- packages/backend/src/routes/agents/get-agent.ts | 3 ++- packages/backend/src/routes/agents/get-version.ts | 3 ++- packages/backend/src/routes/agents/list.ts | 3 ++- packages/backend/src/routes/agents/mcp-servers.ts | 6 ++++-- packages/backend/src/routes/agents/publish.ts | 10 +++++++++- packages/backend/src/routes/agents/search.ts | 3 ++- packages/backend/src/routes/agents/update-metadata.ts | 10 +++++++++- packages/backend/src/routes/agents/versions.ts | 3 ++- 9 files changed, 41 insertions(+), 10 deletions(-) diff --git a/packages/backend/src/routes/agents/delete.ts b/packages/backend/src/routes/agents/delete.ts index 597f75b..2199c41 100644 --- a/packages/backend/src/routes/agents/delete.ts +++ b/packages/backend/src/routes/agents/delete.ts @@ -29,7 +29,15 @@ export const deleteAgentHandler = (serviceProvider: ServiceProvider) const agentService = await serviceProvider.get('agent'); const { owner, name } = req.params; - const userId = (req.user as { id: string } | undefined)?.id; + // Support both JWT auth (userId) and OAuth callback (id/_id) + const userId = req.user?.userId || req.user?.id || req.user?._id?.toString(); logger.info('Get agent requested', { owner, name, userId }); diff --git a/packages/backend/src/routes/agents/get-version.ts b/packages/backend/src/routes/agents/get-version.ts index a5d00f3..9a3c7b3 100644 --- a/packages/backend/src/routes/agents/get-version.ts +++ b/packages/backend/src/routes/agents/get-version.ts @@ -19,7 +19,8 @@ export const getAgentVersionHandler = (serviceProvider: ServiceProvider