当前位置: 首页 > 知识库问答 >
问题:

如何让外部公司使用云函数API

洪鸿
2023-03-14

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

我的情况是,我希望其他公司访问我的应用编程接口,但不要访问我没有添加的任何其他用户。

谷歌的文档对我的具体案例没有帮助。

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

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

还是需要创建云endpoint网关?

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

我觉得有点迷失在这里,感谢任何帮助!:)

我已经尝试了很多东西,但到目前为止没有一个有效,包括上面提到的那些。我只是想在这个案子的正确方向上得到帮助!

共有2个答案

亢保赫
2023-03-14

您是否尝试在gcp项目中邀请这些公司的一些电子邮件地址——将其IAM策略角色设置为“云功能调用者”?

此外,您的云功能用户界面中还有一个“权限”选项卡

不知道它是否适合你的情况,但也许你会在这一点上反弹,进一步:)

颛孙博易
2023-03-14

您有两个解决方案来验证用户:

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

有了API Gateway,您可以设置security Definition来接受firebase用户(这里有一篇很棒的文章)或API密钥(特别是用于机器对机器的通信。我用ESPv2写了一篇关于这方面的文章,但它与API Gateway的概念相同)

 类似资料:
  • 问题内容: 我有以下功能: 现在,我想使用一次执行此功能: 问题是,不能腌制lambda,因此失败了。解决此问题的最简洁的方法是什么? 问题答案: 使用功能对象: 运行您的:

  • 大概30分钟,实习经历占10多分钟。 1、实习相关 2、MQ消息积压如何处理? 3、慢接口问题你是如何排查的? 4、讲讲如何实现幂等,如果请求来自于多个不同的设备呢? 5、Redis底层数据结构讲一讲 6、缓存击穿问题? 7、各种排序算法的时间复杂度和空间复杂度,详细讲讲堆排序和快排实现? 8、JVM的回收算法有哪些,优缺点各是什么?新生代和老年代可以只用一个算法吗? 其他的忘了,之前约我面试,然

  • 一面,视频,凉经,半个小时不到,就问了这么多问题 【2023/04/11】 笔试 这里就只是记录一下算法题 前缀和 有一个数组,输入l和r,输出下标l~r之间所有数的和 获取前n小的数 给一个数组,其中包含重复的数字,返回前n小的数 一面 一面时间:视频面2023/04/11 一百亿个数据找出其中的一千个最大的 TCP中的快速超时重传机制 TCP中的滑动窗口算法机制 TCP做到可靠性的机制 TCP

  • 我在看H.J.Lu的补丁:更新x86 rdrand intrinsics。我不知道我是否应该使用rdrand\u64、rdrand64\u步骤,或者是否有其他功能。似乎没有为他们编写测试用例。 似乎也缺乏手册页(来自Ubuntu 14,GCC 4.8.4): 如何使用RDRAND内部函数来生成一个32字节的块? 一个相关的问题是RDRAND和RDSEED内部函数GCC和Intel C。但它没有告诉

  • 我创建了一个存储触发云功能,当用户从前端上传一个文件时就会激活这个功能。现在我想获取上载该文件的用户的Firebase UID。我想,为了做到这一点,我需要另一个函数,在用户身份验证时触发。所以,基本上,身份验证函数是在用户登录时触发的,然后我们得到了UID,我想把这个UID传递给另一个函数(存储触发的一个),这就是我一直在纠结的部分。那有什么办法吗?

  • 问题内容: function parts($part) { $structure = ‘http://’ . $site_url . ‘content/’; echo($tructure . $part . ‘.php’); } 该函数使用在页面顶部定义的变量,但是此变量未传递到该函数中。 我们如何使它返回到函数中? 问题答案: 添加第二个参数 您需要将其他参数传递给函数: 如果关闭 如果您希望使