首页 > 解决方案 > 如何让外部公司使用云功能API

问题描述

我有对所有用户开放的云功能。我想授权使用这些功能。

我的情况是我希望其他公司访问我的 API,但不希望任何其他我没有添加的用户。

谷歌的文件对我的具体情况没有帮助。

这样做的正确方法是为公司创建一个服务帐户来调用 API 端点吗?

或者我应该创建一个 JWT 令牌并以某种方式验证它?关联

还是我需要创建 Cloud Endpoint Gateway?

OAuth 2 不适合,因为我无法显示同意屏幕,因为它不是单个用户。

我在这里感到有点失落,感谢您的帮助!:)

我已经尝试了很多东西,但到目前为止它们都不起作用,包括上面的那些。我只是想在这个案子的正确方向上得到帮助!

标签: google-cloud-functions

解决方案


您有 2 个解决方案来验证用户身份:

  • 您可以使用 IAM 服务来过滤谁可以访问您的服务。权衡是要求拥有一个 Google 帐户(gmail、workspace 等)并且它不适合外部用户用例(因为您无法预测哪个将是他们的身份提供者)
  • 或者在您的服务前面使用代理层,例如 API Gateway 或 APIGee,如果您有预算的话。

使用 API Gateway,您可以设置安全定义以接受 firebase 用户(这里有很棒的文章)或 API 密钥(尤其是机器对机器通信。我用 ESPv2写过一篇文章,但它与 API Gateway 的概念相同)


推荐阅读