【问题标题】:Invalid Scope When Trying To Create Use GoogleAccountCredential With ARC-Welder on Chrome尝试在 Chrome 上使用 ARC-Welder 创建使用 GoogleAccountCredential 时范围无效
【发布时间】:2015-04-14 15:46:41
【问题描述】:

我有一个 Android 应用程序,我试图在 Chrome ARC 下运行(通过 ARC-Welder)。如果 Chrome 客户端 ID 在 ARC (build=="chromium") 下运行,我已经创建了所有 OAuth2 ID 并更改了我的 APK 以替换 Chrome 客户端 ID。但是,我仍然收到来自 GoogleAuthUtil.getToken() 的“INVALID_SCOPE”异常。

实际的“范围”值是:

audience:oauth2:client_id:numbers-numbersandletters.apps.googleusercontent.com

实际的异常,来自logcat 的热点是:

com.google.android.gms.auth.GoogleAuthException: INVALID_SCOPE
  at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
  at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
  at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java:255)
  ...

发出此请求的代码是:

final String clientid = isChromeArc() ? CHROME_CLIENT_ID  : WEB_CLIENT_ID;
googleCredential = GoogleAccountCredential.usingAudience(this, "server:client_id:" + clientid);

final String accountname = settingsPreferences.getString(PREF_ACCOUNT_NAME, null);
googleCredential.setSelectedAccountName(accountname);
assert googleCredential.getSelectedAccount() != null;
assert !googleCredential.getSelectedAccount().equals("");

if (googleCredential.getToken() == null) ...  // <== exception here

最后,在创建过程中提供给 ARC-Welder 的元数据是:

{
  "usePlayServices": ["maps"],
  "crx_key": "MII...verylongbase64string...AB"
}

我是否需要做一些不同的事情才能连接到我的 App-Engine“端点”,或者这根本不支持?

【问题讨论】:

    标签: android google-chrome-arc


    【解决方案1】:

    Cross client authentication 在 ARC 上不受支持(只是还不支持)。这是一个相关的bug 用于跟踪。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-16
      • 1970-01-01
      相关资源
      最近更新 更多