Bluemix 示例应用程序失败并显示 "Failed to authenticate against MCA"

Bluemix sample app fails with "Failed to authenticate against MCA"

我正在尝试构建 运行 这个 Bluemix 示例应用程序:

BMS samples: helloTodoAdvanced

我正在逐字按照项目 README.md 中的说明进行操作。具体来说:

  1. 从 Github.

  2. 清理 bms-samples-hellototodo-advanced 项目
  3. 创建了一个新的 Bluemix "MobileFirst Starter" 样板应用程序。

  4. 从 Bluemix 控制台和 Web 验证了基本功能 UI。

  5. 创建了一个新的 Facebook 应用程序 ID,使用示例应用程序中的包和 class。

  6. 已配置 BlueMix 移动客户端访问 (MCA) 以使用我的 Facebook 应用程序 ID。

  7. 根据项目说明更新了 NodeJS server.js 应用程序。

  8. 使用 Facebook 应用程序 ID、Bluemix 路由和 Bluemix 应用程序 GUID 修改了 Android 应用程序源。

  9. 我 运行正在使用 Genymotion 模拟器:Samsung Galaxy Sr/Android API 18

  10. 这是 Android Studio logcat 尝试 运行:

04-04 17:19:58.859 1276-1298/com.ibm.hellotodoadvanced E/MainActivity: Failed to authenticate against MCA: Response: {"error":"unauthorized_client","error_description":"Unknown client"}
04-04 17:19:58.859 1276-1298/com.ibm.hellotodoadvanced E/MainActivity: Failed to authenticate against MCA, unknown reason
04-04 17:19:58.863 1276-1291/com.ibm.hellotodoadvanced E/mfpsdk.AuthorizationProcessManager: AuthorizationProcessManager.handleAuthorizationFailure in AuthorizationProcessManager.java:426 :: authorization process failed

<= 程序加载并 运行s ... 但身份验证失败并出现此错误!

问:关于如何调试 "Failed to authenticate against MCA" 错误有什么建议吗?

问:您应该直接从 Android 登录 Facebook 吗?

我的理解是 "No" - Bluemix 直接使用 Facebook 对应用程序进行身份验证; Android 用户无关紧要。

问:是否需要任何其他 "gotcha's" 才能获得与 Bluemix 一起使用的 MCA 身份验证 Android?

我认为您需要从设备上卸载您的应用程序然后重新安装它,这通常是 "unknown client" 的问题。
Q1:我认为没有任何特殊的方法来调试身份验证流程(只是常规的 android 调试器)
Q2) 是的,流程是:用户登录到 facebook,然后将令牌发送到 MCA 服务器,该服务器对其进行验证并授予您 MCA 令牌,这将使您能够访问受保护的资源。
Q3) 您需要执行将 facebook 添加到 android 应用程序的所有说明(如果您看到 facebook 弹出窗口,那么我认为您已执行此流程)。您可以关注 this link 了解更多信息