我在一家小公司工作,开发 ASP.NET Web 应用程序。最近,我们提出了公开 API 端点的要求,以便在云中运行的自动化脚本可以通过 Web 请求定期从应用程序中拉回一些特定的 JSON 格式的数据。我可以处理这个实现,但我不确定安全问题。今天早上我在阅读HMAC并且喜欢它的外观,因为它看起来与我之前使用的其他 API 的安全协议非常相似。然而,这让我想知道一些步骤的价值是什么。
如果客户端和服务器已通过先前的通信安全地就密码/密钥达成一致,那么使用密码作为 HTTPS 请求正文的一部分发送 POST 请求会有什么风险,这样密码就可以识别用户?试图查找这个我遇到了重放攻击和类似的,但是这些可以通过 SSL 工作并且考虑到客户端和服务器端环境都可以信任吗?
编辑:根据下面的用户评论添加一些说明。我们的预期用例是在我们的一台服务器或云中定期(每小时、每天一次等)运行脚本。它将从我们的应用程序以及第三方 API 中提取特定信息,并为我们的业务开发团队更新基于云的电子表格。这是我们理想情况下希望保持运行且不需要任何用户干预的东西。我们的应用程序通常需要使用用户名/密码登录才能生成临时会话,但我们希望稍微简化流程并为脚本提供一个 API 以安全地检索特定数据。