我正在编写一个Xamarin.Android应用程序,它使用ADAL身份验证将数据发布到Net Core Web应用程序。问题是API控制器已设置为不需要身份验证([AllowAnonymous]),但我的httpClient.PostAsync()方法中只有一个响应Microsoft登录页面。我试图使用WebClient.UploadString(),响应是相同的登录页面。我从UWP移植这个应用程序,相同的代码在那里工作没有任何问题。
编辑: 添加一些代码以获取更多信息。问题是response.IsSuccessStatusCode为true,但responseString包含Microsoft Login页面,但它应该返回json数据。
HttpResponseMessage response;
try
{
response = await httpClient.PostAsync(url, new System.Net.Http.StringContent(JsonConvert.SerializeObject(data), System.Text.Encoding.UTF8, "application/json"));
}
catch (Exception ex)
{
return result;
}
if (response.IsSuccessStatusCode)
{
var responseString = await response.Content.ReadAsStringAsync();
try
{
//parsing the response
}
catch (Exception)
{
//response was incorrect
}
}