我正在为个人项目创建 RESTful API,并且一直在阅读有关 api 身份验证的内容。很可能我只是不明白不同的东西是干什么用的。 OAuth 有什么用? API key 有什么用?
主要问题
为什么我不能让每个请求都使用 HTTPS 并使用 session /cookie?
最佳答案
如果用户将通过您拥有或控制的应用程序访问您的 API,则可以使用 HTTPS 和用户身份验证/授权。
但是,如果您想允许其他开发人员创建的应用程序访问您的 API,OAuth 和 API key 允许您控制这些第三方应用程序如何使用您的 API。
- API key :通过为每个应用程序分配单独的 API key ,您可以识别发送请求的应用程序。您可以使用此信息来跟踪或限制应用程序可以使用您的 API 执行的操作。
- OAuth:如果第 3 方应用程序需要访问用户拥有的敏感数据或代表他们执行操作,那么您要确保用户可以接受。您可以执行此操作的一种方法是要求应用程序在每个请求中传递用户凭据。但是,这通常不是一个好主意,因为您不希望用户向第三方透露他们的用户名和密码。这就是 OAuth 的用武之地,因为它允许用户向第三方提供有限的权限以代表他们访问您的 API。
关于api - 除了 SSL,我还需要什么?为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16316465/