0
私はADAL認証でNet Core Webアプリケーションにデータを投稿するXamarin.Androidアプリケーションを作成しています。問題は、APIコントローラが認証([AllowAnonymous])を必要としないように設定されていますが、httpClient.PostAsync()メソッドのうち1つだけがMicrosoft Loginページで応答することです。 WebClient.UploadString()を使用しようとしましたが、応答は同じログインページです。私はこのアプリケーションをUWPから移植しています。同じコードが問題なく動作します。HttpClient.PostAsync Xamarin.Android C#間違った応答
編集: 詳細については、いくつかのコードを追加してください。問題はresponse.IsSuccessStatusCodeはtrueですが、responseStringにはMicrosoftログインページが含まれていますが、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
}
}
私は問題はAPIコントローラではないxamarinアプリであると考えるのURL –
で...より良い理解のためにあなたのコードを投稿してください。それはあなたが残りのサービスを適切に呼び出すように見える –
奇妙な部分は、XamarinのAndroidアプリからのみ動作していないことです。エミュレータから試してみましたが、実際のデバイスや応答から私はサインインする必要がありますが、データフォームUWPアプリとFiddlerを投稿するとうまく動作し、認証を求めません。 –