Merge pull request #2722 from Infisical/scott/secret-refrence-fixes

Fix: Secret Reference Multiple References and Special Character Stripping
This commit is contained in:
Akhil Mohan
2024-11-12 22:49:18 +05:30
committed by GitHub
2 changed files with 10 additions and 3 deletions
@@ -518,7 +518,10 @@ export const expandSecretReferencesFactory = ({
} }
if (referencedSecretValue) { if (referencedSecretValue) {
expandedValue = expandedValue.replaceAll(interpolationSyntax, referencedSecretValue); expandedValue = expandedValue.replaceAll(
interpolationSyntax,
() => referencedSecretValue // prevents special characters from triggering replacement patterns
);
} }
} }
} }
@@ -150,9 +150,13 @@ export const secretV2BridgeServiceFactory = ({
} }
}); });
if (referredSecrets.length !== references.length) if (
referredSecrets.length !==
new Set(references.map(({ secretKey, secretPath, environment }) => `${secretKey}.${secretPath}.${environment}`))
.size // only count unique references
)
throw new BadRequestError({ throw new BadRequestError({
message: `Referenced secret not found. Found only ${diff( message: `Referenced secret(s) not found: ${diff(
references.map((el) => el.secretKey), references.map((el) => el.secretKey),
referredSecrets.map((el) => el.key) referredSecrets.map((el) => el.key)
).join(",")}` ).join(",")}`