我在SO上发现了很多关于这个主题的问题,但没有找到任何一个回答这个问题:
我应该用用户名和密码验证用户,还是使用API密钥?每种方法的利弊是什么。
我之所以问这个问题,是因为在我的API中,有几个方法我想要锁定并验证用户是否有权限访问某些文档或操作。我有点不愿意通过让用户发送带有其用户名和密码的HTTP AUTH头进行身份验证,因为它感觉不安全,对用户来说也有点麻烦。另一方面,如果我使用API密钥,用户创建密码有什么意义呢?因为他们将不再使用它来访问API的功能。
更新
如果其他读者对此感到好奇,我决定复制Amazon如何验证的方式(这里有一个好的解释:这里:https://www.ida.liu.se/~TDP024/labs/hmacarticle.pdf)。