title: How do I access Azure Key Vault using user credentials?
body: <p>I'm trying to write a simple application to access Azure KeyVault using my own, domain joined credentials. I don't know if it's the credentials part or how I'm accessing KeyVault, but I keep getting an "Invalid URI: The format of the URI could not be determined" exception.
  I am able to access KeyVault using Azure PowerShell cmdlets, but not using C#.</p>
  
  <p>Here's the code I have:</p>
  
  <pre><code>class Program
  {
      const string ClientId = "MY AAD CLIENT ID";
  
      static void Main(string[] args)
      {
          Console.WriteLine("Hello, KeyVault!");
          var client = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(GetAccessToken));
          var secret = client.GetSecretAsync("vaultName", "secretName").Result; // Throws Invalid URI: The format of the URI could not be determined
          Console.WriteLine(secret.Value);
          Console.ReadLine();
      }
  
      private static async Task&lt;string&gt; GetAccessToken(string authority, string resource, string scope)
      {
          var context = new AuthenticationContext(authority, TokenCache.DefaultShared);
          var authResult = await context.AcquireTokenAsync(resource, ClientId, new UserCredential());
          return authResult.AccessToken;
      }
  }
  </code></pre>
  
  <p>What could be causing this? I've scoured the internet and haven't found any sample code showing how to access KeyVault this way.</p>