diff --git a/frontend/src/lib/components/AppConnectInner.svelte b/frontend/src/lib/components/AppConnectInner.svelte index ae9d67c942..47948fc6fb 100644 --- a/frontend/src/lib/components/AppConnectInner.svelte +++ b/frontend/src/lib/components/AppConnectInner.svelte @@ -92,6 +92,7 @@ let scopes: string[] = $state([]) let extra_params: [string, string][] = [] + let responseExtra: Record = $state({}) let path: string = $state('') let description = $state('') @@ -278,6 +279,7 @@ resourceType = data.resource_type value = data.res.access_token! valueToken = data.res + responseExtra = data.extra ?? {} step = 4 if (express) { path = `u/${$userStore?.username}/${resourceType}_${new Date().getTime()}` @@ -411,6 +413,8 @@ if (account_identifier) { args['account_identifier'] = account_identifier[1] } + } else if (resourceType === 'quickbooks' && responseExtra['realmId']) { + args['realmId'] = responseExtra['realmId'] } let account: number | undefined = undefined diff --git a/frontend/src/routes/(root)/(logged)/oauth/callback/[client_name]/+page.svelte b/frontend/src/routes/(root)/(logged)/oauth/callback/[client_name]/+page.svelte index 69fc4cdf40..616aa3e975 100644 --- a/frontend/src/routes/(root)/(logged)/oauth/callback/[client_name]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/oauth/callback/[client_name]/+page.svelte @@ -28,11 +28,16 @@ // goto('/resources') } else if (code && state) { try { + const extraParams = Object.fromEntries( + Array.from($page.url.searchParams.entries()).filter( + ([key]) => key !== 'code' && key !== 'state' && key !== 'error' + ) + ) const res = await OauthService.connectCallback({ clientName: client_name, requestBody: { code, state } }) - const message = { type: 'success', res, resource_type: client_name } + const message = { type: 'success', res, resource_type: client_name, extra: extraParams } sendUserToast('successful', false) if (window.opener) { console.log('Sending oauth popup message')