Я делаю приложение в формах Xamarin и использую авторизацию для входа в приложение. Я запускаю авторизацию через наш веб-сервер с заранее установленной авторизацией Microsoft. Это работает на сайте в течение многих лет.
В приложении для телефона я делаю запрос на токен на предъявителя, предоставив имя пользователя, пароль и URI токена. Затем с этим токеном я получаю данные из конечной точки API. Это все иногда работает. Тогда выборочно терпит неудачу другие времена. Я не уверен, какова истинная причина. Единственное содержание ошибки - 400 Bad Request.
Кажется, что первоначальный запрос токена не выполняется и не предоставляет токен, что приводит к ошибке 400 при попадании в конечную точку. Я, честно говоря, не уверен, что могло бы привести к тому, что это не получится.
Возможно, стоит отметить, что я пробовал это на Android, iPhone, Wi-Fi и мобильной сети.
//If an HttpClient object does not exist, create one using the input username and password.
//HttpClientOAuth is part of a library provided by a co-worker to has left us. It manages these OAuth requests for us by building headers and other things
HttpClient = HttpClient ?? new HttpClientOAuth(userName, password, new Uri("https://qa.mywebsite.com/token"));
//Creating an Api object for my app. This is simply used to make requests globally within the appplication.
Api = Api ?? new AIEduCard.EduCardApi(HttpClient, new Uri("https://qa.mywebsite.com"));
//an exmaple of a request being made using HttpClientOAuth within the Api object
List<Deck> temp = await Api.GetActiveDecks("a");
Что может вызывать выборочный сбой этого запроса? Какая дополнительная информация потребуется для решения этой проблемы? Возможно, это связано с аккаунтом. Я могу несколько раз потерпеть неудачу на одной учетной записи, но все равно успешно войти в систему с другой