From 17ea178dc8410793c7a74a9dc0c95abb21d62bb3 Mon Sep 17 00:00:00 2001 From: PizzaV <103120356+pizzav-xyz@users.noreply.github.com> Date: Thu, 4 Jun 2026 23:10:31 +0200 Subject: [PATCH] fix(kiro): minor OAuth social exchange tweaks (#3176) Kiro social OAuth: optional targetProvider passthrough. Integrated into release/v3.8.10. --- src/app/api/oauth/kiro/social-exchange/route.ts | 5 +++-- src/shared/components/KiroOAuthWrapper.tsx | 1 + src/shared/components/KiroSocialOAuthModal.tsx | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) 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();