我正在用Next JS构建一个全栈应用程序。我正在构建一个与Firebase一起工作的API。我想知道是否有办法使这个API安全。
让我详细说明。您的帐户有一个名为Premium的选项。此变量存储在Firestore中,将确定您是否购买了高级会员资格。这将决定您是否可以访问某些功能。我将使用API来更改此变量。
我想到了以下几点:
- 在页面上有一个按钮来升级帐户
- 按下按钮?使用以下参数调用API:电子邮件,升级到。这是因为同样的函数也可以用于降级帐户,例如当用户不支付升级费用时
- API函数会更改Firestore中的变量。它返回一个状态和一条消息
我想让选项2更安全,因为否则,任何人都可以更改保费变量。这显然不是我想要的。对此我能做些什么吗?例如,一个代币系统,问题是我一直在考虑这个问题,我真的不知道如何实现它,也不知道它将如何准确工作。
对于任何想知道我为什么要使用API的人来说:我还将创建一个应用程序,可能是使用react-native。用户还可以更改帐户状态,并与API交互,在该应用程序中做其他事情。
感谢您的阅读和回复!我希望这至少有点清楚。如果你有任何问题,请评论。
我在我的应用程序中做类似的事情。我使用云功能(在安全环境中操作(来保存受安全规则保护的表中的设置,以及在用户的Auth配置文件中设置自定义声明。在进行任何更改之前,所有授权都会在云功能中进行验证-您可能需要";种子";从控制台获取受保护集合/文档中的一些值,以启动进程。