在 Firebase 中限制访问

Restrict access in firebase

我正在使用 firebase 制作网络应用程序。除非有订阅,否则我一直在考虑限制对某些页面的访问。当我查看文档时,我发现我可以使用 stripe 进行交易,它只适用于登录和注册而不限制页面。

在网上搜索后,我没有找到可行的解决方案,但我想到了三个可以使用的想法(它们要么工作可能性低,要么至少可以说非常乏味。(所有包括使用条纹。))

一:我会使用中间件来验证我从 stripe 获得的令牌,然后从那里重定向。 (但我想到的是如何识别中间件中的重定向页面。即使这可能需要多少时间才能使其工作(如果可能的话),我也不知道。)

二:在托管配置中,我可以在执行重写时调用一个函数。我想我可以调用一个 make 函数来在调用受限页面时验证条带中的令牌。 (不过话又说回来,不仅托管后函数可以访问,还可以查看,不知道能不能在firebase.json里面调用firebase的配置和函数。)

第三:这是最可行的,但有非常严重的缺点,正在验证来自常规 javascript 的剥离令牌,如果失败,它将限制对页面的访问。在规则中执行相同的操作,以便与该页面相关的数据库部分。 (缺点是HTML、CSS、javascript都可以访问,只有与它们相关的数据库功能被限制。

综上所述,我找不到我可以使用的任何可行选项。所以我想知道这里是否有人遇到过同样的问题并找到了解决方案,或者您有什么建议可供我使用。 注:顺便说下我用的是firebase的realtime database

如果您试图限制对 webpages/app 的访问,您应该在后端或前端(取决于您的应用程序结构)提出一个逻辑,您可以在其中存储 Firestore 或其他解决方案中所需的值.

如果您想限制对 Firestore 的访问,可以使用 Rules 来实现。