使用OAuth2进行身份验证后,如何从ChromeCustomTabs中获取访问令牌?

时间:2018-09-13 14:28:27

标签: android oauth-2.0 access-token chrome-custom-tabs

我目前正在开发一个Android应用程序,该应用程序将从Fitbit Web API中检索用户的数据。

我了解我需要使用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进行身份验证,这里有很多问题,但是似乎都没有提到如何从CustomTabs回调URL中检索访问令牌。

我没有收到任何错误或任何信息,只是CustomTab在对用户进行身份验证之后将其重定向回我的应用程序,但是我不知道在此阶段如何获取和存储访问令牌。

任何帮助将不胜感激。

欢呼

0 个答案:

没有答案