android – 保护我的Google App Engine API端点

我最近在保护我的应用引擎方面做了很多研究.目前,我一直在阅读以下问题以及该问题中的链接:

How do I restrict Google App Engine Endpoints API access to only my Android applications?

但是,它没有回答我的问题.我的问题类似于上面的问题,将我的端点API访问权限仅限于我的应用.当他在凭证中输入正确的电子邮件时,这家伙似乎已经开始工作了.

我的问题是,如果我可以在不输入任何凭据的情况下获得相同的结果.我想要它,以便只有我的应用程序可以使用我的端点API,以防止其他应用程序滥用它并使用我的配额.我已经为我的Android应用程序获得了一个客户端ID,并将其放在我的@API注释中.为了测试它是否有效,我在另一个api类的@API表示法中为客户端id创建了一个随机值.但是,我的应用程序仍然可以使用这两个类中的方法.有帮助吗?

-编辑-

从阅读文档和进一步研究,授权应用程序的端点方式是通过验证用户和我的API来检查用户是否为空.我的问题是,在验证用户的过程中,Google是否能够以某种方式读取我的应用程序的SHA1指纹并将其授权给其客户ID列表?如果是这样,我如何在我的端点中复制此过程,以便检查发出请求的应用程序的SHA1指纹并将其与设定值进行比较?我不太了解端点背后的机制,所以如果我理解这个错误,请纠正我.

最佳答案 如果Android应用程序具有访问权限,则用户可以访问.一个有动力的派对有很多选择来检查您的协议,包括将设备放在透明代理后面或只是通过调试器运行应用程序.我建议在发布之前通过
ProGuard运行你的应用程序,因为这会使这个过程变得更加困难.

最终,您需要使您的appengine API能够抵御不受信任的各方.这只是网络的状态.

点赞