From 1801b721d5dea91ce740bef62cf1f6b2af16c52a Mon Sep 17 00:00:00 2001 From: Zhiyuan Liang Date: Thu, 8 May 2025 16:41:55 +0800 Subject: [PATCH 1/2] allow to set SecretClientOptions --- src/keyvault/AzureKeyVaultKeyValueAdapter.ts | 2 +- src/keyvault/KeyVaultOptions.ts | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) 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..a41b3105 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; -} +} From d24dd1c9729eda5514a38814a85ba2e5bf2162c7 Mon Sep 17 00:00:00 2001 From: Zhiyuan Liang Date: Thu, 8 May 2025 16:44:05 +0800 Subject: [PATCH 2/2] fix lint --- src/keyvault/KeyVaultOptions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/keyvault/KeyVaultOptions.ts b/src/keyvault/KeyVaultOptions.ts index a41b3105..f51d9699 100644 --- a/src/keyvault/KeyVaultOptions.ts +++ b/src/keyvault/KeyVaultOptions.ts @@ -20,7 +20,7 @@ export interface KeyVaultOptions { /** * 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. */