Skip to content

Commit 584f770

Browse files
Bill LeoutsakosBill Leoutsakos
authored andcommitted
fix(credentials): reuse trusted tool policy during resolution
1 parent c8c83c8 commit 584f770

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

apps/sim/lib/oauth/token-resolution.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -348,11 +348,12 @@ function credentialProviderMismatch(): ResolveCredentialTokenResult {
348348

349349
function validateToolCredentialBinding(
350350
resolved: ResolvedCredential | null,
351-
toolId?: string
351+
toolId: string | undefined,
352+
toolMetadata: ReturnType<typeof getToolMetadata>
352353
): ResolveCredentialTokenResult | null {
353354
if (!resolved || !toolId) return null
354355

355-
const oauth = getToolMetadata(toolId)?.oauth
356+
const oauth = toolMetadata?.oauth
356357
const isServiceAccount = resolved.credentialType === 'service_account'
357358
if (
358359
oauth?.credentialKind === 'service-account'
@@ -387,8 +388,9 @@ export async function resolveCredentialAccessToken(
387388
): Promise<ResolveCredentialTokenResult> {
388389
const { requestId, credentialId, toolId, auditRequest } = input
389390

391+
const toolMetadata = toolId ? getToolMetadata(toolId) : undefined
390392
const resolved = credentialId ? await resolveOAuthAccountId(credentialId) : null
391-
const bindingError = validateToolCredentialBinding(resolved, toolId)
393+
const bindingError = validateToolCredentialBinding(resolved, toolId, toolMetadata)
392394
if (bindingError) return bindingError
393395

394396
if (resolved?.credentialType !== 'managed_oauth' || !resolved.credentialId) {
@@ -441,7 +443,6 @@ export async function resolveCredentialAccessToken(
441443
}
442444
}
443445

444-
const toolMetadata = getToolMetadata(toolId)
445446
if (!toolMetadata?.oauth?.required) {
446447
logger.error(`[${requestId}] Tool is not configured for managed OAuth`, { toolId })
447448
return {

0 commit comments

Comments
 (0)