我正在制作一个以 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/