Internally AzureKeyVaultKeyValueAdapter doesn't handle ContentType property of secret value and returns naked value.
So we have dual behavior when same JSON setting stored directly or using keyvault reference with application/json content type returned as object or string.
I think problem seats at this peace of AzureKeyVaultKeyValueAdapter code
if (client) { // TODO: what if error occurs when reading a key vault value? Now it breaks the whole load. const secret = await client.getSecret(secretName, { version }); return [setting.key, secret.value]; // here it returns raw value without considering secret.properties.contentType value }
Thank you,