Я не могу использовать Azure SDK для Java-класса KeyVaultClient для получения значения хранилища через прокси-сервер из моей офисной сети, на моей консоли отображается «Пожалуйста, войдите в Azure CLI и нажмите любую клавишу, чтобы продолжить после успешного входа». и повесил; Я могу получить значение из сети без настроенного прокси (из моей домашней сети)

Я проводил исследование и пришел пересечь этот пост https://github.com/Azure/azure-sdk-for-net/issues/4404, к сожалению , это для DotNet, я не вижу , что люди обсуждают много о том же проблеме с Java SDK, я использую com.microsoft.azure.azure v1.16 и Azure-Keyvault 1.0.0.

Кажется, по какой-то причине созданный мною RestClient содержит настройки прокси-сервера, игнорируемый KyeVaultClient при создании экземпляра класса, мне было интересно, у кого-то есть такая же проблема, любая работа или предложения.

Спасибо! рукав моря

@Test  
public void getKeyVaultValue() throws CloudException, IOException {
        Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("MY_PROXY_SERVER", 8080));
        AzureTokenCredentials accessToken = AzureCliCredentials.create();

        Authenticator proxyAuthenticator = new Authenticator() {
              @Override public Request authenticate(Route route, Response response) throws IOException {
                   String credential = Credentials.basic("MY_PROXY_ACCOUNT", "MY_PROXY_PASSWORD");
                   return response.request().newBuilder()
                       .header("Proxy-Authorization", credential)
                       .build();
              }
            };

        RestClient restClient = new RestClient.Builder()
            .withBaseUrl(keyVaultBaseURL)
            .withCredentials(accessToken)
            .withSerializerAdapter(new AzureJacksonAdapter())
            .withResponseBuilderFactory(new AzureResponseBuilder.Factory())
            .withProxy(proxy)
            .withProxyAuthenticator(proxyAuthenticator)
            .build();

        # I can retrieve value using below code from my home network without proxy 
        # KeyVaultClient kvClient = new KeyVaultClient(accessToken);

        # I am not able retrieve value through proxy configured in my office network
        KeyVaultClient kvClient = new KeyVaultClient(restClient);
        Assert.assertNotNull(kvClient.getSecretAsync("MY_KEYVAULT_ID", null));

    }

0