diff --git a/src/keyvault/AzureKeyVaultKeyValueAdapter.ts b/src/keyvault/AzureKeyVaultKeyValueAdapter.ts index 11852c7b..41a1ac89 100644 --- a/src/keyvault/AzureKeyVaultKeyValueAdapter.ts +++ b/src/keyvault/AzureKeyVaultKeyValueAdapter.ts @@ -80,7 +80,7 @@ export class AzureKeyVaultKeyValueAdapter implements IKeyValueAdapter { } if (this.#keyVaultOptions?.credential) { - client = new SecretClient(vaultUrl.toString(), this.#keyVaultOptions.credential); + client = new SecretClient(vaultUrl.toString(), this.#keyVaultOptions.credential, this.#keyVaultOptions.clientOptions); this.#secretClients.set(vaultUrl.host, client); return client; } diff --git a/src/keyvault/KeyVaultOptions.ts b/src/keyvault/KeyVaultOptions.ts index 6d476b54..f51d9699 100644 --- a/src/keyvault/KeyVaultOptions.ts +++ b/src/keyvault/KeyVaultOptions.ts @@ -2,7 +2,7 @@ // Licensed under the MIT license. import { TokenCredential } from "@azure/identity"; -import { SecretClient } from "@azure/keyvault-secrets"; +import { SecretClient, SecretClientOptions } from "@azure/keyvault-secrets"; /** * Options used to resolve Key Vault references. @@ -18,10 +18,18 @@ export interface KeyVaultOptions { */ credential?: TokenCredential; + /** + * Configures the client options used when connecting to key vaults that have no registered SecretClient. + * + * @remarks + * The client options will not affect the registered SecretClient instances. + */ + clientOptions?: SecretClientOptions; + /** * Specifies the callback used to resolve key vault references that have no applied SecretClient. * @param keyVaultReference The Key Vault reference to resolve. * @returns The secret value. */ secretResolver?: (keyVaultReference: URL) => string | Promise; -} +}