让api explorer私有化

时间:2013-03-13 10:10:22

标签: google-cloud-endpoints

是否可以完全关闭api explorer或限制对它的访问?

我注意到我的应用中有一些日志来自浏览器执行的失败请求。我的api仅由Android应用程序使用,因此它们可以来自的唯一地方是api explorer。此外,api访问仅限于1个Web和1个Android客户端ID。

3 个答案:

答案 0 :(得分:4)

不幸的是没有。 API资源管理器使用与您的API关联的发现服务,它实际上不是您的后端的一部分,因此您无法为这些URI指定身份验证或可见性。

Discovery服务中的list方法用于使用您的应用作为基础在APIs Explorer应用上生成列表:

discovery.apis.list:

your-app-id.appspot.com/_ah/api/discovery/v1/apis

当有人单击列表中的某个API时,将使用Discovery服务中的apiName方法检索apiVersiongetRest的完整发现文档:

discovery.apis.getRest:

your-app-id.appspot.com/_ah/api/discovery/v1/apis/{apiName}/{apiVersion}/rest

答案 1 :(得分:1)

如果您正在寻找阻止执行API的方法,请查看Cloud Endpoints: Control who can execute API through API Explorer

答案 2 :(得分:0)

端点使auth变得简单,您可以获得当前用户。你应该使用auth来确保人们不会弄乱你的私人api - 否则人们可以追踪你发送的帖子或获得请求 - auth总是一个好主意而不是试图保持你的api秘密。

如果你正在构建一个秘密产品并且你不希望你的竞争对手发现,你可能会在后端和客户端上使用一些混淆方法,这使得api不可读。

用户弄乱你的api不应该破坏你的数据库 - 或者如果它 - 它应该只为那些愚蠢的用户打破它。在你的客户端中有关于如何使用api以便后端不会中断的逻辑是一个坏主意 - 后端apis应该自己处理并且不担心它们如何或为何被使用以及为什么用于什么目的。