api - 除了 SSL,我还需要什么?为什么

标签 api rest authentication ssl

我正在为个人项目创建 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/

相关文章:

php - Facebook api php在我被标记的地方获取 friend 照片

java - 对 Web 服务客户端隐藏数据对象结构和字段

ios - Pocket SDK 有一个执行 API 调用的方法,我将如何使用它?

python - 将 REST 资源添加到数据库。努力遍历枚举列表并提交更改。

ios - 我应该为将从 JSON 解析的对象模型的属性使用可选的吗?

php - 收到亚马逊商城 API 请求的内部错误

java - 如何从 JsonObject 创建 InputStream 对象

django - 匿名用户与 django.test.client.login()

Django 和 CouchDB - 通用身份验证后端

php - 如何实现php登录或身份验证 session