node.js - Firebase 数据库特定成员(member)级别仅每月访问

标签 node.js reactjs firebase firebase-realtime-database

我正在制作一个以 Firebase 作为后端的 React 应用程序,使用 Firebase 的身份验证和实时数据库。我计划使用 paypal 定期订阅和 google cloud 功能与 paypal webhooks 来执行一些操作,例如在用户数据库中设置一些授予访问权限的特殊值 - 比如说 expiresAt: [下个月] 字段,然后检查每个成员的该值以查看他们是否具有访问权限,如果没有,那么我需要 firebase 数据库拒绝对该特定资源的任何请求。这听起来合理/可行吗?

执行此操作的最佳方法是什么,因为 Firebase Auth 似乎将您的用户存储在单独的用户部分中,并且并非全部放入一个 noSQL 用户文档中,您可以在其中添加额外的属性/字段以及额外的信息,例如 expiresAt 字段。

最佳答案

您可能希望将订阅到期时间以毫秒整数的形式存储在实时数据库中(Stripe 默认以秒的形式提供给您)。然后,在您的安全规则中,您可以执行以下操作:

{
  ".read": "root.child('users').child(auth.uid).child('subscription_expires').val() > now"
}

关于node.js - Firebase 数据库特定成员(member)级别仅每月访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48509993/

相关文章:

javascript - Firebase 电话身份验证和链接

mysql - nodejs mysql参数查询失败

javascript - Puppeteer 集群示例抛出错误 : Unable to get browser page

java - 如何在 React 应用程序中使用 Java 并使用 MySQL 作为数据库。有什么建议吗?

javascript - 不要直接改变状态。使用 setState()

ios - 代码永远不会执行错误

ios UIApplicationOpenURLOptionsKey 不适用于 Firebase

javascript - Hapi 嵌套路由

jquery - socket.io - 引用错误 : socket is not defined

javascript - 如果没有用户给定的值React如何提交defaultValue