为了账号安全,请及时绑定邮箱和手机立即绑定

REST API 只能通过我的 React 客户端访问

REST API 只能通过我的 React 客户端访问

Go
翻过高山走不出你 2023-07-26 20:03:16
我正在构建一个 React.js 应用程序,它将与 Go 中内置的 REST API 进行交互。React 将使用 Javascript Fetch API 向我的 API 发送请求。问题是我想保护我的 API 不被其他地方请求。任何人都不应该能够通过 URL 或通过 Postman 等任何其他客户端直接访问我的 API。我知道 JWT 是什么,但这并不能解决我的问题,因为任何人都可以通过浏览器访问令牌,然后继续使用令牌在 React 客户端之外请求 API。我进行了广泛的研究,但没有什么真正符合我的描述。非常感谢您的帮助,提前。
查看完整描述

1 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

这是一个本质上无法解决的问题。React 在客户端上运行。客户端控制它执行的代码。因此,您用来将 API 使用限制为仅适用于 React 客户端的任何机制都可以在其他客户端上下文中发现和重用。你无法控制客户,如果回报足够有价值,那么这样做的尝试就会失败。

您可以尝试通过使用短期授权令牌来稍微强化它,但是没有什么可以阻止该令牌在其他上下文中被获取和重用。

如果您必须限制对 API 的访问,您应该拥有一个危险性或特权较小的公共 API,并且公共 API 应该利用您的私有 API,有效代理调用以隐藏私有 API,并确保仅针对特权更高的 API 执行经过验证的查询。

不过,如果您可以描述您正在尝试缓解的问题,则可能还有其他可用的解决方案。


查看完整回答
反对 回复 2023-07-26
  • 1 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信