无法创建Android ClientID以用于Android的AppAuth Library

时间:2017-04-13 15:41:33

标签: android appauth

我想在我的应用中使用AppAuth-Android进行openID登录。

我的问题是,无论我如何为Android创建客户端ID,我都会继续收到redirect_uri 400错误。添加Android的客户端ID并没有清楚地显示redirect_uri是什么或需要什么,当我只使用我的应用程序的包名时,我最终得到了redirect_uri_mismatch。

Adding Client ID for Android doesnt clearly show what redirect_uri is or needs to be

我已经浏览了谷歌创建的codelabs tutorial,一切似乎都很简单。

但是,现在我正试图在我的应用程序中设置所有内容,但是没有足够的细节来确定需要采取哪些步骤来创建一个client_id和一个redirect_uri,它将适用于我的应用程序中的自定义方案。 / p>

以下是幻灯片的图片,假设我能够正确创建client_id: A depiction of exactly the step that I need more detail on

我找到了大量来自谷歌的文档,提供了有关该做什么的建议,但没有一个包含足够的细节来解决这个问题,我已经花了太多时间。我在这里找到的最有用的页面是关于OAuth2 for Mobile & Desktop

的部分

任何人都可以提供在Google's API Credential manager内为我现有的Android应用程序创建client_id的确切步骤,该应用程序能够以与上面引用的codelabs教程完全相同的方式工作吗?

1 个答案:

答案 0 :(得分:0)

原来这是复制/粘贴client_id的问题,我过于专注于与redirect_uri相关的错误消息,无需花费很长时间就可以搞清楚。

以下是我可以澄清的一些项目,以防其他人最终在同一问题上敲头。

为了解决我的redirect_uri问题,我回过头来确保:

  1. 客户端ID与google api控制台中的客户端ID匹配,并且google api控制台具有我的应用的正确包名。

      

    " com.examplepackagename"

  2. 我的清单中声明的​​自定义方案直接与应用程序的包名称匹配。

  3.     <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>
    
    1. 应用程序传递的重定向uri遵循代码实验室的示例,格式为
    2.   

      &#34; com.examplepackagename:/ oauth2callback&#34;