首页 > 解决方案 > 限制在 Firebase 中的访问

问题描述

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

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

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

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

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

综上所述,我找不到任何可行的选择。所以我想知道这里是否有人遇到过同样的问题并得到了解决方案,或者你有什么我可以使用的建议。注意:顺便说一下,我使用的是 firebase 的实时数据库。

标签: firebasefirebase-realtime-databasefirebase-authenticationgoogle-cloud-functionsrestriction

解决方案


If you are trying to restrict access to your webpages/app, you should come up with a logic in your backend or frontend (depending on your app structure) where you could store values needed in Firestore or another solution.

In case you would like to restrict access to Firestore, you can achieve that with Rules.


推荐阅读