Fix Azure KeyVault secretstore BulkGet URI parsing of the GetSecretsComplete response (#657)
* Fix Azure Keyvault secretstore BulkGet
To make it works with URI of form "{vaultURI}/secrets/{itemID}" in the
GetSecretsComplete response.
* Fix lint comment
* Address PR feedback
Co-authored-by: Artur Souza <artursouza.ms@outlook.com>
This commit is contained in:
parent
b74b486f68
commit
e5ed9e0095
|
|
@ -25,6 +25,7 @@ const (
|
||||||
componentSPNTenantID = "spnTenantId"
|
componentSPNTenantID = "spnTenantId"
|
||||||
componentVaultName = "vaultName"
|
componentVaultName = "vaultName"
|
||||||
VersionID = "version_id"
|
VersionID = "version_id"
|
||||||
|
secretItemIDPrefix = "/secrets/"
|
||||||
)
|
)
|
||||||
|
|
||||||
type keyvaultSecretStore struct {
|
type keyvaultSecretStore struct {
|
||||||
|
|
@ -101,9 +102,11 @@ func (k *keyvaultSecretStore) BulkGetSecret(req secretstores.BulkGetSecretReques
|
||||||
Data: map[string]map[string]string{},
|
Data: map[string]map[string]string{},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
secretIDPrefix := vaultURI + secretItemIDPrefix
|
||||||
|
|
||||||
for secretsResp.NotDone() {
|
for secretsResp.NotDone() {
|
||||||
secretItem := secretsResp.Value()
|
secretItem := secretsResp.Value()
|
||||||
secretName := strings.TrimPrefix(*secretItem.ID, vaultURI)
|
secretName := strings.TrimPrefix(*secretItem.ID, secretIDPrefix)
|
||||||
|
|
||||||
secretResp, err := k.vaultClient.GetSecret(context.Background(), vaultURI, secretName, "")
|
secretResp, err := k.vaultClient.GetSecret(context.Background(), vaultURI, secretName, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue