Я использую библиотеку AppAuth для аутентификации Oauth2. https://github.com/openid/AppAuth-Android
Я изменил URL-адреса в соответствии с моим поставщиком oauth. Я указал действительную конечную точку авторизации, идентификатор клиента, uri перенаправления, uri токена, тип ответа (код). Я не нашел способа добавить секрет клиента. Когда я запускаю приложение, я вижу веб-страницу в браузере, ввожу учетные данные, а затем происходит перенаправление обратно в приложение. Когда выполняется запрос на получение токена, я получаю исключение. Запрос токена не выполняется. Есть идеи, почему это могло произойти? URL-адрес обмена токенами правильный, и я не уверен, почему он жалуется на то, что файл не найден по этому конкретному URL-адресу токена.
W / AppAuthSample: Ошибка обмена токенами
AuthorizationException: {"type":0,"code":3,"errorDescription":"Network error"}
at net.openid.appauth.AuthorizationService$TokenRequestTask.doInBackground(AuthorizationService.java:244)
at net.openid.appauth.AuthorizationService$TokenRequestTask.doInBackground(AuthorizationService.java:206)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.io.FileNotFoundException: <token_url>
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:251)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:210)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:26)
at net.openid.appauth.AuthorizationService$TokenRequestTask.doInBackground(AuthorizationService.java:239)
at net.openid.appauth.AuthorizationService$TokenRequestTask.doInBackground(AuthorizationService.java:206)
at android.os.AsyncTask$2.call(AsyncTask.java:333)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)