OAuth(访问令牌)与API密钥

use*_*r10 24 api oauth

我发现了许多文章,许多人建议在API Key上使用OAuth.根据我的理解,在OAuth中,我们终于获得了访问令牌,并且它有效期很多天.一个例子是,QuickBooks在线OAuth令牌有效期为6个月.

因此,访问令牌等同于API Key.谁得到它,应该像API密钥一样安全.OAuth调用应该通过HTTPS进行,类似于基于API Key的调用.

与OAuth相比的另一个优势是授权.但我们可以使用API​​ Key模型做同样的事情.例如,我们可以在数据库中定义规则,例如这些API密钥可以访问这些API.

现在,OAuth的真正优势是什么?如果我们实施OAuth,我们必须要求所有客户在其服务器中安装OAuth支持库.对他们而且对我们来说,这是一项复杂的任务.而在API Key模型中,它是一个简单的Web调用,没有其他额外的库和复杂性.

我的目的只是为了更好地理解OAuth,而不是与API Key模型进行比较和争论.

注意:
我不是在谈论用户必须查看和授予权限的Google和LinkedIn类型的模型.我只是在谈论我们为自己的客户提供的API.

感谢您的帮助.

Tak*_*aki 22

只有当您希望允许服务的用户允许第三方客户端应用程序访问您的服务中托管的数据而不向应用程序透露他/她的凭据(ID和密码)时,才需要OAuth.

一对API密钥和API秘密可以做的只是客户端应用程序的身份验证.如果您可以在未经用户明确同意的情况下允许经过身份验证的客户端应用程序访问用户的数据,则您不必使用OAuth.


use*_*813 14

API 密钥用于项目/服务,而令牌用于对用户进行身份验证。遇到了一个非常好的解释。 何时以及为何使用 API 密钥