谷歌云端点的限制...有什么建议的解决方案吗?

52

我是否正确地认为Cloud Endpoints的优点伴随着以下限制:

  1. REST API无法部署到自定义域名(它将保留在appspot.com)。
  2. 唯一支持的身份验证是针对Google账户的OAuth。
    1. 推论:目前不可能创建一个与Google账户无关的用户登录/会话追踪机制(例如,以电子邮件作为用户名和密码)。

是否有计划消除这些限制?如果有,预计需要多长时间?


2
我还会添加2个。 (1) 在发布后的近1.5年中,它仍处于预览模式,并且似乎停滞不前,所以它的状态有些不确定; (2) 我曾看到有人抱怨说你被迫公开自己的API。 - Tom
好的观点!GA发布后有任何更新吗? - ZiglioUK
1
请给这个问题投上赞成票 --- 这可能有助于我们获得权威的回答。 - markvgti
整天都在苦苦挣扎Endpoints,却一无所获。https://plus.google.com/+EmanueleZiglioli/posts/5bYytiELVkd - ZiglioUK
也可以访问 https://groups.google.com/forum/#!topic/vosao-cms-development/ewHp8abVLBE。 - ZiglioUK
1个回答

20
逐项考虑:
  1. 目前的情况是这样的。请记住,我们的初版面向的是同一方使用案例,其中你服务的域名基本上并不重要(它不面向用户/开发者)。如果你想使用API来驱动网站,你可以使用自定义域名来呈现用户界面内容,并且仍然可以使用CORS请求你的appspot域名。如果你正在构建移动应用程序,则根本没有人看到该域名。
  2. 内置支持(即使用“User”对象)仅限于Google帐户,但你可以通过检查OAuth标头(或电子邮件/密码,如果必须...)来构建自己的身份验证方案
  3. (来自评论,关于GA状态)。Endpoints现在是GA状态。
  4. (来自评论,关于公共API)。你的API必须是公共的,但你可以限制可以进行请求的客户端。如果你想创建一个秘密API,即API的存在本身必须受到保护,这目前不受支持。我很好奇此请求有多受欢迎,但我怀疑对大多数人来说并不是一个障碍。

2
关于第二点:你的意思是我应该将我的App Engine应用程序作为OAuth2提供者,然后可以使用该提供者代替Google对用户进行身份验证(这样用户就不需要拥有Google帐户了)吗?我还能够在自己的OAuth2提供者中使用Google API Explorer吗? - Korneel
3
APIs Explorer 内置的身份验证机制只支持 Google 账户身份验证。但是,您可以在请求中提供任意参数(例如“token=foo”),以表示您想要的任何内容。在我的回答中,我指的是成为另一个提供程序(例如 Facebook)的 OAuth “消费者”。您可以自己开发,但我不建议这样做。 - Dan Holevoet
1
@DanHolevoet,你有关于你提到的第二点的文档吗?我们已经有10万注册用户使用电子邮件/密码进行身份验证,并需要向移动应用程序公开经过身份验证的API。 - tx802
@DanHolevoet 关于第4点,我有一个端点服务,被其他服务使用。在两者之间没有用户干预。我希望只有这个服务可以访问我的端点。如何保护它?当我按照Web客户端ID的文档操作时,仍然可以从任何客户端访问我的端点。请问有什么帮助吗? - Bharathi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接