无法从Android应用中的Angel.co API调用重定向回App

时间:2015-04-07 02:14:44

标签: android oauth

我有一个应用程序通过以下调用对用户进行身份验证:

https://angel.co/api/oauth/authorize?
client_id=...&
state=...&
response_type=code

我已设置以下代码进行身份验证,然后获取AccessToken的代码:

mLoginButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(
                    Intent.ACTION_VIEW,
                    Uri.parse("https://angel.co/api/oauth/authorize?"
                              + "client_id=" + clientId + "&"
                              + "response_type=" + RESPONSE_TYPE)
            );
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
        }
    });

这是我的清单:

<activity android:name=".ui.UserLoginActivity"
        android:label="@string/app_name"
        android:launchMode="singleTask"
        android:exported="true"
        android:screenOrientation="portrait">
        <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:host="myapp"
                android:scheme="dezign.scheme" />
        </intent-filter>
    </activity>

当我点击mLoginButton时,它会从应用中推出到Chrome浏览器,但是当它完成后点击redirectUri它会显示以下错误并返回应用:

enter image description here

我在这里做错了什么?到目前为止,我还没有找到一个可以接受的答案。

更新已经解决了问题

1 个答案:

答案 0 :(得分:0)

现在有效!

我的方案和主机错了,有关此方面的更多文档,请查看以下链接:

More about implicit intents

我的主人和计划是倒退的,它应该是这样的:

enter image description here

对于我的应用程序,具体应该是:

android:scheme="myapp"
android:host="dezign.scheme"