繁体   English   中英

OAuth(访问令牌)与 API 密钥

[英]OAuth (Access Token) Vs API Key

我遇到了很多文章,很多文章都建议在 API 密钥上使用 OAuth。 据我了解,在 OAuth 中,我们终于获得了访问令牌,它的有效期为很多天。 例如,QuickBooks 在线 OAuth 令牌的有效期为 6 个月。

因此,访问令牌相当于 API Key。 无论谁得到它,它都应该像 API 密钥一样安全。 OAuth 调用应该通过 HTTPS 进行,类似于基于 API 密钥的调用。

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

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

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

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

提前感谢您的帮助。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM