[英]Best practice to use User's stored third party API keys?
我正在构建一个应用程序,它要求用户存储他们的第三方 API 密钥和秘密,以便在我的应用程序中使用第三方服务。 我已将这些密钥安全地存储到数据库中并散列了秘密。 但我不知道如何在我的应用程序中使用第三方服务的最佳实践。 在我的应用程序的前端或后端使用它是否更好。
对于前端选项,我需要从前端应用程序的数据库中调用 api 密钥和秘密。 然后需要进行第三方 api 调用,以便从第三方提取数据和信息。 但这不会潜在地暴露用户 api 密钥吗?
或者从后端,但我需要从服务器调用第三方服务,然后将该信息发送到前端以显示给用户。 怕多少调用和加载时间。
可能经常需要来自第三方服务的这些数据。 设置一个websocket并从后端调用会更好吗?
提前致谢
首先考虑存储 API 密钥的最佳实践(您已经提到将它们存储在数据库中,所以您的方式是正确的,仍然是一个很好的提及):
您可以在每个平台文档中搜索有关安全使用 API 密钥的最佳实践的更多文档(以下是使用 Google Cloud Platform API 密钥的 Google 建议https://support.google.com/googleapi/answer/6310037 )
现在,对于您描述的用法,我看到了几种解决方案,我将尝试揭示每种方法的优缺点:
总结:如果你有足够的时间,或者如果你可以不费吹灰之力地在后端开发一个 API 网关,那么我认为选项 3 可能是最适合你的选项。 相反,如果选项 3 太难实现或太耗时,那么在您的情况下,我宁愿选择选项 2,同时考虑前端应用程序的最佳安全实践。
您可以在https://owasp.org/www-project-top-ten/上阅读有关 Web 应用程序安全性的更多信息,特别是对于 React 应用程序,这篇中等文章可能会对您有所帮助https://medium.com/strands-tech-corner /前端-应用程序-安全-b1ea9999cd02
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.