我已经看过几个地方,包括这个post和火力场面板
是否没有办法使用这些api通过每个使用云功能的客户端创建的api密钥来保护这些端点?
我能够阻止每个限制浏览器密钥的人,但是我想创建一个新的api密钥,并将其用作对各种客户端验证我的端点的一种方式。
创建新的api密钥并使用that as a parameter in my query无效(如果我做错了,现在就不要了)
有没有办法做到这一点?
答案 0 :(得分:1)
https://github.com/firebase/functions-samples/tree/master/authorized-https-endpoint
在上面进行调整以使用存储在Firestore中的客户端/密钥
以上网关可能是最适合您的用例的,因为前两个网关可以让您将所有内容保留在Google内,尽管具有更高的复杂性/成本-希望Endpoints将很快获得对功能的支持。 Azure将意味着将您的体系结构的一部分包含在Google之外,但看起来像是一种轻松实现目标的简单方法(Google云/ firebase函数的每个客户端api键)
这是实现Azure API管理的一个很好的演练:
https://koukia.ca/a-microservices-implementation-journey-part-4-9c19a16385e9
答案 1 :(得分:0)
就Firebase和GCP而言,没有实现您所追求的目标,客户是您的特定业务问题。
您可以通过提供的少量信息解决此问题的一种方法;
您需要在某个地方存储客户端列表及其API密钥(我将使用firestore)
对于要使用客户端特定的API密钥保护的端点,可以包括检查以确认标头存在并且还存在于Firestore客户端记录中。
注意事项:
好奇地看看其他一些Firebase用户的建议。