【问题标题】:API Authentication with Google Cloud Endpoints使用 Google Cloud Endpoints 进行 API 身份验证
【发布时间】:2018-12-29 13:40:24
【问题描述】:

我有一个使用 graphql-yoga 的 GraphQL 服务器,该服务器基于在 Google App Engine 上运行的 Node JS express 服务器。 基本上,服务器公开一个带有单个路由的 HTTP 端点,接受返回 JSON 结果的 POST 请求,该结果由移动应用程序使用。

它不处理用户身份验证。

据我了解,可以使用 Google Cloud Endpoints 在 App Engine 中的服务器前部署 ESP(可扩展服务代理)。 它公开了一个带有安全端点的 API,该端点通过 Firebase Auth、Auth0 或 Google 登录处理用户身份验证。

我的假设是否正确?我已经使用包含正确安全参数的开放 API 规范进行了部署,但没有任何不记名令牌,所有请求都被接受。

参考文档:https://cloud.google.com/endpoints/docs/openapi/authenticating-users

【问题讨论】:

  • 您使用的是 App Engine 标准版还是灵活版?
  • App 引擎标准。我意识到这可能是不可能的,不知道为什么,因为我正在为一家初创公司开发,灵活选项的定价在这里没有意义。

标签: node.js express google-app-engine graphql google-cloud-endpoints


【解决方案1】:

ESP 无法像在 App Engine Flex 上一样在 App Engine Standard 上的应用程序前面运行。这主要与这些运行时架构的差异有关 --- App Engine Flex 基于部署容器(一次包括多个),而 App Engine Standard 目前不支持多容器部署。

因此,我们拥有 Endpoints Frameworks,它为基于 App Engine 标准的应用程序添加了类似的库 --- 但这只支持 Python 和 Java 运行时。

不幸的是,这意味着如果您坚持使用 Node + App Engine Standard 的组合,则目前无法使用 Cloud Endpoints。

【讨论】:

  • 谢谢,这解释了一切!将这条信息记录在 App Engine 类型特定页面以及顶级 Cloud Endpoints 页面上会非常棒。
  • 我们在Choosing a Cloud Endpoints Option 记录了这一点,这是基于您的反馈和其他对不同环境表示类似困惑的人。感谢您与我们联系!
  • App Engine Flex 是否具有与 Standard 相同的免费层级?我的印象是免费层仅适用于标准,这就是我选择它的原因 - 就我而言,我刚刚开始着手一个项目,并且在我评估事物时对 GCP 上的免费层非常感兴趣。
猜你喜欢
  • 1970-01-01
  • 2017-08-30
  • 2014-10-11
  • 2019-11-06
  • 1970-01-01
  • 1970-01-01
  • 2016-02-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多