我正在使用firebase制作一个web应用程序。我正在考虑限制访问某些页面,除非有订阅。当我查看文档时,我发现我可以使用stripe进行交易,它只适用于登录和注册,而不限制页面。
在互联网上搜索后,我没有找到一个可行的解决方案,但我想到了三个我可以使用的想法(至少可以说,要么工作可能性低,要么非常乏味。(都包括使用条纹。(
一:我会使用中间件来验证我从stripe获得的令牌,然后从那里重定向。(但所有这些都浮现在我的脑海中,我将如何在中间件中识别重定向页面。即使这很可能需要多少时间才能使其工作(如果可能的话(,我也不知道。(
第二:在主机配置中,当执行重写时,我可以调用一个函数。我想我可以调用makea函数,当调用受限页面时,该函数可以验证strip中的令牌。(但话说回来,这个函数不仅在托管后可以访问并且可以查看,我不知道我是否可以在firebase.json中调用firebase配置和函数。(
第三:这是最可行的,但也有非常糟糕的缺点,即在常规javascript中验证strip-token,如果失败,将限制对页面的访问。在规则中执行相同操作,使数据库部分与该页面相关。(缺点是HTML、CSS和javascript都可以访问。只有与它们相关的数据库功能受到限制。
尽管如此,我还是找不到任何可行的选择。所以我想知道这里是否有人遇到过同样的问题并得到了解决方案,或者你有什么建议可以给我。注意:顺便说一下,我正在使用firebase的实时数据库。
如果你试图限制对网页/应用程序的访问,你应该在后端或前端(取决于你的应用程序结构(想出一个逻辑,在那里你可以存储Firestore或其他解决方案所需的值。
如果您想限制对Firestore的访问,可以使用规则来实现。