【问题标题】:android application authentication IDandroid应用认证ID
【发布时间】:2013-01-18 14:30:30
【问题描述】:

我正在尝试按照此处的说明进行操作:

Verifying Back-End Calls from Android Apps

我正在扩展我在这里提出的问题:

identifying which android app is making contact with my appengine app

在我的测试环境中一切顺利。我的应用程序在 Eclipse 中使用了一个 debug.keystore,我什至从我对 GoogleAuthUtil.getToken() 的调用中收到了令牌。然后我将我的代码复制到将要使用它的实际项目中。我得到了密钥库(我从之前在 google play 上发布的内容中保存了它)并用它在 Google API 控制台上创建了一个新的客户端 ID。

然后我使用 eclipse 导出我的项目,但是在使用正确的密钥库和关联的 ID 后,我没有得到令牌。

与此同时,我一直在尝试不同的事情。我有一个为我的应用引擎应用程序制作的 ID。我在 android 应用程序中使用了它,并获得了一个令牌。我不知道天气或当我在我的应用引擎网站上检查特定令牌时是否会清除它(我怀疑不是),但我从中得到了一个令牌。

我有点假设我应该与我的 android 调用 GoogleAuthUtil.getToken() 一起使用的 ID 应该来自(Google API 页面的)“已安装应用程序的客户端 ID”部分。不是这样吗?只有在那里您才能将应用程序类型设置为“Android”,并设置包名称以匹配您的应用程序...对吗?

【问题讨论】:

  • 我想我会简单地用有效的令牌来试试这个。

标签: android eclipse google-app-engine oauth-2.0 google-oauth


【解决方案1】:

我假设您使用以下格式指定 client_id:

观众:服务器:client_id:$client_id

正如上面的格式试图暗示的那样,此 client_id 用于您的主服务器,在本例中为 AppEngine 应用程序的 client_id(网络应用程序 client_id)。如果您正确配置 AppEngine 应用程序,它应该在 AppEngine 中很好地验证。

同样,您的 Android 应用会请求令牌并命名您的 AppEngine 应用。您无需在请求中命名您的 Android 应用的 client_id,因为 Android 平台可以根据您使用密钥库工具计算的包名称和证书哈希来识别您的应用。

【讨论】:

  • 谢谢!我认为这就是答案 - 它似乎对我有用。
猜你喜欢
  • 2014-05-15
  • 1970-01-01
  • 2019-08-26
  • 1970-01-01
  • 1970-01-01
  • 2014-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多