0
我有一个连接到几个API服务的ReactJs前端应用程序。其中一些API服务要求我在首次登录时通过我的appId
和appSecret
。保持API凭证在React应用程序中保密
我目前有一个js
文件,它被缩小和捆绑,但我觉得我仍然将我的应用凭据暴露给精明的入侵者。
保护它们的正确方法是什么?
我有一个连接到几个API服务的ReactJs前端应用程序。其中一些API服务要求我在首次登录时通过我的appId
和appSecret
。保持API凭证在React应用程序中保密
我目前有一个js
文件,它被缩小和捆绑,但我觉得我仍然将我的应用凭据暴露给精明的入侵者。
保护它们的正确方法是什么?
我阅读了评论,看到你仍然感到困惑,但更详细的解释是在评论中允许的空间超出了允许的范围,因此发布了更详细的解释作为答案。
这个想法是,您使用您的服务器作为所有请求和响应的代理。
这些不是处理这些交互的唯一方法,但它们是一些更常见的方法。情况1和情况2不同,因为在情况1中,有一个客户端(前端)需要从API获取数据。 API的凭据通过仅由您的服务器存储和使用来进行保护。在这种情况下,您可以选择限制使用您应用的每个人的访问权限,以及在您的应用上进行身份验证的每个人(您必须实现登录系统),仅限于已登录且具有特定权限级别的用户(您必须实现角色)。在情况2中,没有客户端应用程序,并且有人直接访问您的API。您仍然需要对其进行身份验证,因此您只需向其发送一次密钥,并且每次发出请求时都会传递该密钥。
[本文](http://billpatrianakos.me/blog/2016/02/15/securing-api-keys-in-a-javascript-single-page-app/)似乎有你想要的。 –
永远不要在前端文件中放置秘密API凭据。通常你会希望后端处理数据传递给外部认证的API。 – Devon
有些人只是在这里给出了一个很好的答案:https://stackoverflow.com/questions/46838015/using-api-keys-in-a-react-app –