39
39
package oracle .jdbc .provider .azure .configuration ;
40
40
41
41
import oracle .jdbc .provider .azure .keyvault .KeyVaultSecretFactory ;
42
- import oracle .jdbc .spi .OracleConfigurationJsonSecretProvider ;
43
- import oracle .jdbc .provider .configuration .JsonSecretUtil ;
42
+ import oracle .jdbc .spi .OracleConfigurationSecretProvider ;
44
43
import oracle .jdbc .provider .parameter .ParameterSet ;
45
44
import oracle .jdbc .provider .parameter .ParameterSetParser ;
46
- import oracle .sql .json .OracleJsonObject ;
47
45
48
46
import java .util .Base64 ;
47
+ import java .util .Map ;
49
48
50
49
/**
51
50
* A provider of Secret values from Azure Key Vault.
52
51
*/
53
52
public final class AzureVaultSecretProvider
54
- implements OracleConfigurationJsonSecretProvider {
53
+ implements OracleConfigurationSecretProvider {
55
54
/**
56
55
* Parser that recognizes the "value" field and parses it as a Key Vault
57
56
* secret URL.
@@ -85,6 +84,7 @@ public final class AzureVaultSecretProvider
85
84
* @return encoded char array in base64 format that represents the retrieved
86
85
* Secret.
87
86
*/
87
+ /*
88
88
@Override
89
89
public char[] getSecret(OracleJsonObject secretJsonObject) {
90
90
@@ -101,6 +101,7 @@ public char[] getSecret(OracleJsonObject secretJsonObject) {
101
101
.encodeToString(secretString.getBytes())
102
102
.toCharArray();
103
103
}
104
+ */
104
105
105
106
/**
106
107
* {@inheritDoc}
@@ -111,4 +112,19 @@ public char[] getSecret(OracleJsonObject secretJsonObject) {
111
112
public String getSecretType () {
112
113
return "azurevault" ;
113
114
}
115
+
116
+ @ Override
117
+ public char [] getSecret (Map <String , String > arg0 ) {
118
+ ParameterSet parameterSet =
119
+ PARAMETER_SET_PARSER .parseNamedValues (arg0 );
120
+
121
+ String secretString = KeyVaultSecretFactory .getInstance ()
122
+ .request (parameterSet )
123
+ .getContent ()
124
+ .getValue ();
125
+
126
+ return Base64 .getEncoder ()
127
+ .encodeToString (secretString .getBytes ())
128
+ .toCharArray ();
129
+ }
114
130
}
0 commit comments