将GAE API(端点)限制为Android应用

时间:2016-03-13 23:45:20

标签: android google-app-engine google-cloud-endpoints

我想限制只能访问我的Android应用程序访问我的GAE后端。我不希望身份验证是基于用户的,我当然不希望用户提供他们的Google帐户凭据或任何凭据。我只想让我的GAE API只能访问我的应用程序。

StackOverflow中有several questions,但我还不明白这个过程是什么。

GAE Documentation预计会描述服务器方面的内容,并且不会为Android客户端提供任何代码段。

我偶然发现了这个Android开发人员blog post和这个Google云端平台sample project,这两个版本都有很多事情需要做,以便进行身份验证(使用用户的电子邮件地址),似乎有点矫枉过正。当我为Android生成客户端ID时,在Google Developers Console中,我从应用程序的密钥库中指定了包和SHA1校验和。我的印象是,他们以某种方式足以以更透明的方式向服务器识别应用程序。

以上链接是否可行?或者我是否走错了路线?

1 个答案:

答案 0 :(得分:1)

您真的无法将GAE API(终端)限制为Android应用"截至目前。原因是黑客可能会反编译您的Android应用并查看任何类型的客户端密钥或其他凭据,然后可以完全访问您的云端点api方法。

这可能吗?我不确定。你必须对此进行自己的研究。这将取决于许多因素,例如您的应用程序的知名度,黑客的确定程度等等。例如,Snapchat使用GAE,并且在安全性方面存在许多问题,黑客可以访问其API来制作第三方应用程序。我想它涉及Android或iOS客户端的某种反编译。

看看我刚才问过的一个问题(和评论)是类似的。所有Cloud Endpoints都是创建restful API的一种方式。唯一识别您的特定Android应用程序是真正的问题: How to uniquely identify your Android app for rest API