diff --git a/src/app/api/oauth/kiro/social-exchange/route.ts b/src/app/api/oauth/kiro/social-exchange/route.ts index f97ac7dd06..d668ed02eb 100755 --- a/src/app/api/oauth/kiro/social-exchange/route.ts +++ b/src/app/api/oauth/kiro/social-exchange/route.ts @@ -11,6 +11,7 @@ import { KIRO_CONFIG } from "@/lib/oauth/constants/oauth"; const socialExchangeSchema = z.object({ deviceCode: z.string().min(1, "Missing deviceCode or provider"), provider: z.string().min(1, "Missing deviceCode or provider"), + targetProvider: z.string().optional(), }); /** @@ -47,7 +48,7 @@ export async function POST(request: Request) { } try { - const { deviceCode, provider } = validation.data; + const { deviceCode, provider, targetProvider } = validation.data; const response = await fetch(KIRO_CONFIG.socialDevicePollUrl, { method: "POST", @@ -84,7 +85,7 @@ export async function POST(request: Request) { } const connection: any = await createProviderConnection({ - provider: "kiro", + provider: targetProvider || "kiro", authType: "oauth", accessToken: data.accessToken, refreshToken: data.refreshToken, diff --git a/src/shared/components/KiroOAuthWrapper.tsx b/src/shared/components/KiroOAuthWrapper.tsx index fdfbfba4cc..aff30c2bdd 100644 --- a/src/shared/components/KiroOAuthWrapper.tsx +++ b/src/shared/components/KiroOAuthWrapper.tsx @@ -104,6 +104,7 @@ export default function KiroOAuthWrapper({ void; onClose: () => void; @@ -16,6 +17,7 @@ type KiroSocialOAuthModalProps = { export default function KiroSocialOAuthModal({ isOpen, provider, + targetProvider, providerLabel = "Kiro", onSuccess, onClose, @@ -51,7 +53,7 @@ export default function KiroSocialOAuthModal({ const pollRes = await fetch("/api/oauth/kiro/social-exchange", { method: "POST", headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ deviceCode: data.deviceCode, provider }), + body: JSON.stringify({ deviceCode: data.deviceCode, provider, targetProvider }), }); const pollData = await pollRes.json();