登录
首页 >  Golang >  Go问答

React客户端限制了对REST API的访问

来源:stackoverflow

时间:2024-03-01 17:30:26 124浏览 收藏

本篇文章给大家分享《React客户端限制了对REST API的访问》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

我正在构建一个 React.js 应用程序,它将与 Go 中内置的 REST API 进行交互。

React 将使用 Javascript Fetch API 向我的 API 发送请求。

问题是我想保护我的 API 不被其他地方请求。任何人都不应能够通过 URL 或通过 Postman 等任何其他客户端直接访问我的 API。

我知道 JWT 是什么,但这并不能解决我的问题,因为任何人都可以通过浏览器访问令牌,然后使用令牌继续在 React 客户端外部请求 API。

我进行了广泛的研究,但没有什么真正符合我的描述。

提前非常感谢您的帮助。


解决方案


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

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

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

如果您可以描述您试图缓解的问题,那么可能还有其他可用的解决方案。

本篇关于《React客户端限制了对REST API的访问》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>