我有一个我想从前端发出请求的API,该API是使用React构建的。但是,我不希望任何人都能在我的代码中看到该API调用,因为如果有人只是打开检查窗口,那么他们就可以看到该API调用。我曾经考虑过可能在请求中添加某种报头作为身份验证进行发送,但这也不起作用,因为如果你检查站点,则只能看到代码。
我该怎么做?我的API返回了一个私钥,我不能只将私钥直接存储在代码中。
抱歉,这个问题没有道理,但我感谢你提供的所有帮助。
默认情况下,你的前端代码不安全且 Observable 。前端没有秘密。如果你的API返回的机密数据仅应由适当的用户访问,则你将必须实施各种身份验证。
然后,例如,用户将提供密码以调用API,或者用户之前登录并获得了令牌(例如JWT),该令牌随每个请求进行身份验证一起发送。然后,每个请求上都有一个用户标识,你的后端可以决定是否允许该用户获取该私钥。
如果你确实真的想让某人很难看到你的前端代码,则你的路由器可能会提供诸如“受保护的路由”之类的功能,该功能需要这样的令牌才能访问你的应用程序的某些路由。由于业务逻辑必须留在后端,因此仍然始终可以获取前端代码。
谢谢!那么,有一天要做的是检查呼叫者的IP地址或域并基于返回的数据吗?
不是安全的方法,可以欺骗IP。尝试采用正确的方法,并了解一种正确的身份验证方法。这将是:-像JSONWebTokens这样的令牌-Session-Cookies 2方法,您将需要全神贯注,但这是值得的。
谢谢您的帮助!