所以我目前正在开发一个跨平台的应用程序。出于这个原因,我希望应用程序通过使用Zend Framework的REST API构建在云服务上使用外部数据库。我研究了如何构建安全的REST API,许多资源使用HMAC进行身份验证。让我有点困惑的部分是应该在哪里生成密钥以及如何与服务器和客户端共享?
每个客户端(在应用程序的每个用户中都应该)获得一个唯一的密钥吗?
如果没有,我想我可以这样做:
每当第三方服务想要使用我的其他API时,我都需要专门为该服务生成一个单独的密钥。
如果每个用户都必须生成一个单独的密钥,那么我不知道如何将密钥传输到服务器而不存在中间人攻击的风险。
这听起来不错吗?