在Android应用中使用OAuth2获取Strava API的Token

时间:2017-12-28 11:15:31

标签: android oauth-2.0 appauth strava

我想启用"将活动上传到Strava"在我的Android应用中。为此,我需要一个令牌。 Strava使用OAuth2,我认为在Web应用程序中进行身份验证和获取令牌确实不是什么大问题。

但在本机Android应用中使用时,我必须在WebView中加载身份验证页面。如果用户选择"使用Google"登录,则Google身份验证会创建403,因为它拒绝在WebView see this article内进行登录。

所以我按照建议使用AppAuth for Android。他们声称该流程仅适用于准备与本机应用程序通信的OAuth服务器:

  

通常,AppAuth可以与支持本机应用程序的任何授权服务器(AS)一起使用,可以通过自定义URI方案重定向或App Links。假设所有客户都是基于网络的或要求客户保持客户机密的机密性的AS可能效果不佳。

在花了几个小时寻找解决方案之前(更像是试错),我决定问你:

是否可以对Strava用户进行身份验证并获得所需的令牌(Authenticate: Bearer abc9897...)?

  • over"使用Google登录"
  • over"使用Facebook登录"
  • over username + password

我看到的问题是:至少在使用Google登录时,涉及2个OAuth身份验证流程,它必须在浏览器中运行,而不是在WebView中运行。如何拦截这两个进程并在一天结束时获取令牌?

0 个答案:

没有答案