我正在为我维护的一个应用程序构建一个 RESTful API。我们目前正在寻求在其中建立各种东西,需要更多的控制访问和安全。在研究如何保护 API 时,我发现了一些关于使用什么表单的不同意见。我看到一些资源说 HTTP-Auth 是最好的选择,而其他人更喜欢 API 密钥,甚至其他人(包括我在这里找到的关于 SO 的问题)都对 OAuth 发誓。
Then, of course, the ones that prefer, say, API keys, say that OAuth is designed for applications getting access on behalf of a user (as I understand it, such as signing into a non-Facebook site using your Facebook account), and not for a user directly accessing resources on a site they've specifically signed up for (such as the official Twitter client accessing the Twitter servers). However, the recommendations for OAuth seem to be even for the most basic of authentication needs.
那么,我的问题是——假设这一切都是通过 HTTPS 完成的,那么这三者之间有哪些实际的区别呢?什么时候应该考虑一个人而不是其他人?