Использование OAuth2 в приложении Android для получения токена для Strava API

Я хочу включить функцию загрузки в Strava в своем приложении для Android. Для этого мне нужен токен. Strava использует OAuth2, и я полагаю, что на самом деле не так уж много проблем с аутентификацией и получением токена в веб-приложении.

Но при использовании его внутри собственного приложения Android, я должен загрузить страницу аутентификации в WebView, Если пользователь выбирает "войти в систему с помощью Google", то Google Auth создает 403, потому что он отказывается выполнять вход в WebView, см. Эту статью.

Поэтому я последовал совету использовать AppAuth для Android. Они утверждают, что процесс работает только с OAuth-серверами, подготовленными для связи с нативными приложениями:

В общем, AppAuth может работать с любым сервером авторизации (AS), который поддерживает собственные приложения, либо через перенаправления пользовательской схемы URI, либо через ссылки на приложения. AS, которые предполагают, что все клиенты работают через Интернет или требуют, чтобы клиенты сохраняли конфиденциальность клиентских секретов, могут не работать должным образом.

Прежде чем потратить еще пару часов на поиск решения (больше похожего на метод проб и ошибок), я решил спросить вас:

Можно ли аутентифицировать пользователя Strava и получить нужный токен (Authenticate: Bearer abc9897...)?

  • над "войти через Google"
  • над "войти через Facebook"
  • через имя пользователя + пароль

Проблема, которую я вижу, заключается в следующем: по крайней мере при использовании входа в систему Google участвуют 2 процесса аутентификации OAuth, и он должен выполняться в браузере, а не в WebView. Как я могу перехватить оба процесса и получить токен в конце дня?

0 ответов

Другие вопросы по тегам