title: Azure key vault: access denied
body: <p>I have the following code for obtaining a secret from the Azure key vault:</p>
  
  <pre><code>public static async Task&lt;string&gt; GetToken(string authority, string resource, string scope)
      {
          var authContext = new AuthenticationContext(authority);
          ClientCredential clientCred = new ClientCredential(...); //app id, app secret
          AuthenticationResult result = await authContext.AcquireTokenAsync(resource, clientCred);
  
          if (result == null)
              throw new InvalidOperationException("Failed to obtain the JWT token");
  
          return result.AccessToken;
      }
  
      public static string GetSecret(string secretName)
      {
          KeyVaultClient keyVaultClient = new KeyVaultClient(GetToken);
          try
          {
              return keyVaultClient.GetSecretAsync("my-key-vault-url", secretName).Result.Value;
          }
          catch(Exception ex)
          {
              return "Error";
          }
      }
  </code></pre>
  
  <p>The error I am getting is "access denied", which (I think) means that the id, secret and the vault's url are fine. However, I don't know what I can do differently to fix this error, is there maybe a setting in the Azure portal which is preventing me from reading a secret?</p>