如何确保 API flask 仅供我的前端应用使用?

How do I secure API flask in order to be only consumed for my frontend app?

我使用 flask_restjsonapi 创建了一个 API,我想集成 API 它只能与我未来的 reactjs 前端一起使用(该应用程序是电子商务, API 是代表应用程序数据层的后端)。我希望用户可以在未经授权(作为访客)的情况下访问产品数据,但肯定需要登录才能访问付费视图或购买商品。那我怎么能得到这个? Oauth(哪种流类型)、基本身份验证、cookie。我应该遵循哪些步骤?

PS:我是 Reactjs 和 API 安全方面的新手。

首先,不要实施您自己的安全措施(我不认为您有意这样做,阅读您的问题,这是为了完整性)。

然后从阅读 OWASP REST Security Cheat Sheet 开始。它会让您大致了解需要准备什么。

一旦您理解了各种元素的用途,就可以使用适合您的语言的库来实现它们。同样,不要尝试推出自己的版本 - 库会更快、更安全。

I want to integrate the API where it can only work with my future reactjs frontend

这是不可能的(只有部分)。如果你有一个 API,只要它知道如何连接,任何东西都可以连接到它。不要试图让它成为一个秘密(这被称为 “混淆安全” 这可能是也可能不是一个有用的想法,但肯定不是一个单独的安全解决方案)