我想启用"将活动上传到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...
)?
我看到的问题是:至少在使用Google登录时,涉及2个OAuth身份验证流程,它必须在浏览器中运行,而不是在WebView中运行。如何拦截这两个进程并在一天结束时获取令牌?