REST API 只能通过我的 React 客户端访问
我正在构建一个 React.js 应用程序,它将与我在 Go 中构建的 REST API 进行交互。
React 将使用 Javascript Fetch API 向我的 API 发送请求。
问题是我想保护我的 API 不被其他地方请求。没有人应该能够通过 URL 或任何其他客户端(如 Postman)直接访问我的 API。
我知道 JWT 是什么,但这并不能解决我的问题,因为任何人都可以通过浏览器访问 token ,然后继续使用 token 在 React 客户端之外请求 API。
我进行了广泛的研究,但没有什么真正符合我的描述。
非常感谢您的帮助,提前。
请您参考如下方法:
这是一个本质上无法解决的问题。 React 在客户端上运行。客户端控制它执行的代码。因此,你用来限制 API 使用仅限于你的 React 客户端的任何机制都可以在其他客户端上下文中被发现和重用。你无法控制客户,如果返回足够有值(value),那么尝试这样做就会失败。
您可以尝试通过使用短期授权 token 来加强它,但没有什么可以阻止该 token 在另一个上下文中被抓取和重用。
如果您必须限制对 API 的访问,您应该有一个危险性或特权较低的公共(public) API,并且公共(public) API 应该使用您的私有(private) API,有效地代理调用以隐藏私有(private) API,并确保只有经过验证的查询才会针对特权更高的 API 执行。
但是,如果您可以描述您试图缓解的问题,那么可能还有其他可用的解决方案。
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



