Я работал над простым веб-приложением NancyFX, с некоторыми встроенными расписаниями для работы с Monzo API и предоставлением различных средств автоматизации.
До нескольких дней go все работало отлично, вплоть до того момента, как я случайно удалил живой клиент oauth2. Не беспокойся, подумал я. Создайте нового клиента, перенастройте приложение и выключите его go.
К сожалению, теперь, после создания нового клиента oauth2, переконфигурирования веб-приложения и даже очистки кеша токена (технически не требуется), я все еще не могу аутентифицироваться.
Начальные этапы процесса работают отлично, я перенаправлен на страницу аутентификации Monzo, я ввожу свою электронную почту и нажимаю на ссылку "magi c", которая вызывает мой веб-приложение, однако, когда приложение пытается обменять код авторизации на токен доступа, API возвращает 401-ю неавторизованные.
Я подтвердил во время выполнения, что все данные запроса авторизации верны, и были отправлены через HttpClient
как FormUrlEncodedContent
, но я все равно получил 401.
Согласно документации Monzo API:
Ошибки, относящиеся к аутентификации, являются стандартными ошибками, но также содержат дополнительную информацию для соответствия спецификации OAuth.
Однако при проверке тело ответа остается пустым.
Кто-нибудь сталкивался с этим раньше? Я не внес никаких изменений в базу кода, так как она работала успешно, только изменил детали клиента oauth2 в конфигурации приложения.
РЕДАКТИРОВАТЬ
Я сделал больше тестирования и возни, и единственный способ, которым я могу воссоздать 401 из API на этом этапе, - это передать совершенно неверный секрет клиента.
Использование неверного секрета клиента возвращает 401 и никакого сообщения, согласно моей проблеме.
Конечно, это говорит о том, что мой секрет клиента не распознается, однако я подтвердил во время выполнения, что он идеально совпадает.
Заранее спасибо, Алекс