Как получить токен доступа из ChromeCustomTabs после аутентификации с использованием OAuth2? - PullRequest
0 голосов
/ 13 сентября 2018

В настоящее время я занимаюсь разработкой приложения для Android, которое будет извлекать данные пользователя из веб-API Fitbit.

Я понимаю, что мне нужно использовать OAuth2 для аутентификации в Fitbit, а затем использовать сгенерированный токен доступа вдля того, чтобы совершать звонки в Fitbit Web API для получения данных пользователя.

У меня есть следующий код при нажатии кнопки на одном из моих действий, и он, кажется, работает как ожидалось.При нажатии на него открывается Chrome CustomTab, где пользователь может войти в Fitbit, а затем утвердить или отклонить запрошенные разрешения.Затем он успешно перенаправляет обратно в мое приложение.

String url = "https://www.fitbit.com/oauth2/authorize?" +
                    "response_type=token&" +
                    "client_id=XXXXX&" +
                    "redirect_uri=XXXXXX&" +
                    "scope=activity&" +
                    "expires_in=50";
            CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
            CustomTabsIntent customTabsIntent = builder.build();
            customTabsIntent.launchUrl(this, Uri.parse(url));

Однако у меня проблема в том, что я не знаю, как получить и сохранить сгенерированный токен доступа для последующего использования.

Примечание. Если я изменяю redirect_uri на веб-страницу, я вижу, что после перенаправления он добавляет URL-адрес с требуемым токеном доступа, но моя проблема заключается в том, как получить к нему доступ, если вместо этого он перенаправляет обратно в мое приложение?

Здесь много вопросов относительно аутентификации через OAuth2, однако ни один из них, кажется, не упоминает, как получить токен доступа из URL-адреса обратного вызова CustomTabs.

Я не получаю никаких ошибокили что-нибудь, просто CustomTab перенаправляет обратно в мое приложение после аутентификации пользователя, но я не знаю, как получить и сохранить токен доступа на этом этапе.

Любая помощь будет высоко ценится,

Приветствия

...