Я нашел один поток на форумах Xamarin по той же проблеме, но у парня не было ответов, поэтому я предполагаю, что это редкая проблема, связанная с Xamarin (Android).Аутентификация RestSharp в Xamarin
Фрагмент кода ниже работает отлично, если я использую действительные учетные данные, но если я использую неправильные учетные данные или если есть какая-либо другая причина, по которой приложение не может пройти аутентификацию, генерируется исключение WebException (400 неверных учетных данных, 500 при ошибке сервера и т. д.).
Проблема заключается в том, что я не знаю, как обрабатывать исключение, он бросает исключение, когда он переходит в метод Post() ...
private void Authenticate()
{
if (Credentials != null && client.Authenticator == null)
{
RestClient authClient = new RestClient(client.BaseUrl);
RestRequest authRequest = new RestRequest("/token", Method.POST);
UserCredentials userCred = Credentials as UserCredentials;
if (userCred != null)
{
authRequest.AddParameter("grant_type", "password");
authRequest.AddParameter("username", userCred.UserName);
authRequest.AddParameter("password", userCred.Password);
}
var response = authClient.Post<AccessTokenResponse>(authRequest);
response.EnsureSuccessStatusCode();
client.Authenticator = new TokenAuthenticator(response.Data.AccessToken);
}
}