Skip to content

Commit aa9a464

Browse files
committed
address part of comments
1 parent 590ecd7 commit aa9a464

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

src/AzureAppConfigurationImpl.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,16 +63,15 @@ export class AzureAppConfigurationImpl extends Map<string, unknown> implements A
6363
private async resolveKeyVaultReference(setting: ConfigurationSetting<string>) {
6464
// TODO: cache results to save requests.
6565
if (!this.options?.keyVaultOptions) {
66-
throw new Error("Need key vault options to resolve reference.");
66+
throw new Error("Configure keyVaultOptions to resolve Key Vault Reference(s).");
6767
}
6868

6969
// precedence: secret clients > credential > secret resolver
70-
const parsedSecretReference = parseSecretReference(setting);
7170
const { name: secretName, vaultUrl, sourceId } = parseKeyVaultSecretIdentifier(
72-
parsedSecretReference.value.secretId
71+
parseSecretReference(setting).value.secretId
7372
);
7473

75-
const client = this.getSecretClient(vaultUrl);
74+
const client = this.getSecretClient(new URL(vaultUrl));
7675
if (client) {
7776
// TODO: what if error occurs when reading a key vault value? Now it breaks the whole load.
7877
const secret = await client.getSecret(secretName);
@@ -86,7 +85,7 @@ export class AzureAppConfigurationImpl extends Map<string, unknown> implements A
8685
throw new Error("No key vault credential or secret resolver callback configured, and no matching secret client could be found.");
8786
}
8887

89-
private getSecretClient(vaultUrl: string): SecretClient | undefined {
88+
private getSecretClient(vaultUrl: URL): SecretClient | undefined {
9089
if (this.secretClients === undefined) {
9190
this.secretClients = new Map();
9291
for (const c of this.options?.keyVaultOptions?.secretClients ?? []) {
@@ -95,14 +94,14 @@ export class AzureAppConfigurationImpl extends Map<string, unknown> implements A
9594
}
9695

9796
let client: SecretClient | undefined;
98-
client = this.secretClients.get(getHost(vaultUrl));
97+
client = this.secretClients.get(vaultUrl.host);
9998
if (client !== undefined) {
10099
return client;
101100
}
102101

103102
if (this.options?.keyVaultOptions?.credential) {
104-
client = new SecretClient(vaultUrl, this.options.keyVaultOptions.credential);
105-
this.secretClients.set(vaultUrl, client);
103+
client = new SecretClient(vaultUrl.toString(), this.options.keyVaultOptions.credential);
104+
this.secretClients.set(vaultUrl.host, client);
106105
return client;
107106
}
108107

0 commit comments

Comments
 (0)