39
39
package oracle .jdbc .provider .azure .configuration ;
40
40
41
41
import oracle .jdbc .provider .azure .keyvault .KeyVaultSecretFactory ;
42
+ import oracle .jdbc .provider .configuration .JsonSecretUtil ;
43
+ import oracle .jdbc .spi .OracleConfigurationJsonSecretProvider ;
42
44
import oracle .jdbc .spi .OracleConfigurationSecretProvider ;
45
+ import oracle .sql .json .OracleJsonObject ;
43
46
import oracle .jdbc .provider .parameter .ParameterSet ;
44
47
import oracle .jdbc .provider .parameter .ParameterSetParser ;
45
48
50
53
* A provider of Secret values from Azure Key Vault.
51
54
*/
52
55
public final class AzureVaultSecretProvider
53
- implements OracleConfigurationSecretProvider {
56
+ implements OracleConfigurationJsonSecretProvider , OracleConfigurationSecretProvider {
54
57
/**
55
58
* Parser that recognizes the "value" field and parses it as a Key Vault
56
59
* secret URL.
@@ -84,24 +87,12 @@ public final class AzureVaultSecretProvider
84
87
* @return encoded char array in base64 format that represents the retrieved
85
88
* Secret.
86
89
*/
87
- /*
88
90
@ Override
89
91
public char [] getSecret (OracleJsonObject secretJsonObject ) {
90
92
91
- ParameterSet parameterSet =
92
- PARAMETER_SET_PARSER.parseNamedValues(
93
- JsonSecretUtil.toNamedValues(secretJsonObject));
94
-
95
- String secretString = KeyVaultSecretFactory.getInstance()
96
- .request(parameterSet)
97
- .getContent()
98
- .getValue();
99
-
100
- return Base64.getEncoder()
101
- .encodeToString(secretString.getBytes())
102
- .toCharArray();
93
+ Map <String , String > secretProperties = JsonSecretUtil .toNamedValues (secretJsonObject );
94
+ return getSecret (secretProperties );
103
95
}
104
- */
105
96
106
97
/**
107
98
* {@inheritDoc}
@@ -114,9 +105,9 @@ public String getSecretType() {
114
105
}
115
106
116
107
@ Override
117
- public char [] getSecret (Map <String , String > arg0 ) {
108
+ public char [] getSecret (Map <String , String > secretProperties ) {
118
109
ParameterSet parameterSet =
119
- PARAMETER_SET_PARSER .parseNamedValues (arg0 );
110
+ PARAMETER_SET_PARSER .parseNamedValues (secretProperties );
120
111
121
112
String secretString = KeyVaultSecretFactory .getInstance ()
122
113
.request (parameterSet )
0 commit comments