以编程方式调用 Azure 网站时出现 401

401 when calling Azure website programmatically

我启用了 Azure 网站 运行 活动目录。通过 Azure 登录页面,我可以使用各种帐户正常登录该网站。

当我尝试使用我尝试的任何帐户从 .net 客户端调用该网站上的 API 时,我收到 401。

var request = WebRequest.Create(url);

request.Method = "GET";
request.Credentials = new NetworkCredential("username@ourdomain.com", "password");
request.GetResponse();

有没有办法不通过实际的 azure 登录页面就可以访问网站?

您将不得不使用 Azure Active Directory 身份验证库 (ADAL)。参见 https://msdn.microsoft.com/en-us/library/azure/dn151135.aspx

例如,请参阅 Web 应用程序到 Web API 上的代码示例。这个看起来对您的应用程序很有用:https://github.com/AzureADSamples/WebApp-WebAPI-OAuth2-UserIdentity-Dotnet