我想在我的应用中使用AppAuth-Android进行openID登录。
我的问题是,无论我如何为Android创建客户端ID,我都会继续收到redirect_uri 400错误。添加Android的客户端ID并没有清楚地显示redirect_uri是什么或需要什么,当我只使用我的应用程序的包名时,我最终得到了redirect_uri_mismatch。
我已经浏览了谷歌创建的codelabs tutorial,一切似乎都很简单。
但是,现在我正试图在我的应用程序中设置所有内容,但是没有足够的细节来确定需要采取哪些步骤来创建一个client_id和一个redirect_uri,它将适用于我的应用程序中的自定义方案。 / p>
我找到了大量来自谷歌的文档,提供了有关该做什么的建议,但没有一个包含足够的细节来解决这个问题,我已经花了太多时间。我在这里找到的最有用的页面是关于OAuth2 for Mobile & Desktop
的部分任何人都可以提供在Google's API Credential manager内为我现有的Android应用程序创建client_id的确切步骤,该应用程序能够以与上面引用的codelabs教程完全相同的方式工作吗?
答案 0 :(得分:0)
原来这是复制/粘贴client_id的问题,我过于专注于与redirect_uri相关的错误消息,无需花费很长时间就可以搞清楚。
以下是我可以澄清的一些项目,以防其他人最终在同一问题上敲头。
为了解决我的redirect_uri问题,我回过头来确保:
客户端ID与google api控制台中的客户端ID匹配,并且google api控制台具有我的应用的正确包名。
" com.examplepackagename"
我的清单中声明的自定义方案直接与应用程序的包名称匹配。
<activity android:name="net.openid.appauth.RedirectUriReceiverActivity" tools:node="replace"> <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.examplepackagename"/> </intent-filter> </activity>
&#34; com.examplepackagename:/ oauth2callback&#34;