最近我一直在学习本地反应,我遇到了一个农场无法解决的问题。 我尝试使用我的应用程序中的gmail OAuth2进行身份验证,作为重定向参数,我将myscheme:// oauth整个网址看起来像这样:
我在manifest.xml中注册了一个intent-filter,如下所示:
var prev = document.getElementsByClassName("swiper-slide swiper-slide-prev");
var next = document.getElementsByClassName("swiper-slide swiper-slide-next");
if(prev.length > 0 ){
alert(prev[0].className);
}
我正在使用react native链接打开URL,我得到的错误(在浏览器中)是400 redirect_uri的参数值无效:无效的方案:myscheme:// oauth
任何人都可以帮助我,我在这里失踪了吗?
答案 0 :(得分:0)
从the docs,我发现您的网址存在两个问题:
- 自定义方案必须包含有效期
醇>
将myscheme
更改为com.myapp
。
- 请注意单个" /"在自定义URI方案之后,这与常规HTTP URL不同
醇>
将myscheme://oauth...
更改为myscheme:/oauth...
经过这些更正后,您的网址应该是com.myapp.myscheme:/oauth...
而不是myscheme://oauth...
答案 1 :(得分:0)
我正在使用 AppAuth 库来获取OAuth2令牌。根据Google的official document,这种格式对我有用。
<your.app.application.id>:/oauth2callback
例如,如果您的应用程序ID为com.example.app
,则在您的AndroidManifest.xml
<activity android:name="net.openid.appauth.RedirectUriReceiverActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="com.example.app" />
</intent-filter>
</activity>
要提供给AppAuth的redirectUrl看起来像这样
private val redirectUrl = "com.example.app:/oauth2callback"
希望这对某人有帮助。