Android React本机OAuth2重定向\u uri:无效方案
最近我学习了react native,遇到了一个无法解决的问题。 我正在尝试使用我的应用程序中的gmail OAuth2作为重定向参数进行身份验证myscheme://oauth 整个url如下所示:Android React本机OAuth2重定向\u uri:无效方案,android,oauth-2.0,react-native,google-oauth,Android,Oauth 2.0,React Native,Google Oauth,最近我学习了react native,遇到了一个无法解决的问题。 我正在尝试使用我的应用程序中的gmail OAuth2作为重定向参数进行身份验证myscheme://oauth 整个url如下所示: <activity android:name=".MainActivity" android:label="@string/app_name" android:launchMode="singleTask" android:configChanges="key
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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="myscheme" android:host="oauth"/>
</intent-filter>
</activity>
我在manifest.xml中注册了一个意向过滤器,如下所示:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:launchMode="singleTask"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<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="myscheme" android:host="oauth"/>
</intent-filter>
</activity>
我正在使用react native链接打开URL,我(在浏览器中)得到的错误是重定向的400无效参数值。\u uri:无效方案:myscheme://oauth
有谁能帮我一下我这里缺少什么吗?从中,我发现您的URL有两个问题:
myscheme
更改为类似于com.myapp
myscheme:/oauth…
在这些更正之后,您的URL应该看起来像
com.myapp.myscheme:/oauth…
,而不是myscheme://oauth...
我正在使用AppAuth库获取OAuth2令牌。按照谷歌的说法,这种格式对我很有效
:/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>
希望这对别人有帮助