所有文章 > API安全 > 关于API令牌你需要知道的一切
关于API令牌你需要知道的一切

关于API令牌你需要知道的一切

近年来,应用程序接口API)的迅速崛起并不完全是好消息。 在网络安全方面,应用程序接口往往是最薄弱的环节,这多少有些讽刺意味,因为应用程序接口提供的数字资产比任何网站或电子商务门户都要多。 一不小心,应用程序接口就会成为重大的安全隐患。

更糟糕的是,API 以其缺陷而闻名。 这意味着更多的网络犯罪分子正在寻找新的方法来瞄准 API 并利用其安全漏洞。 因此,2020 年有 91% 的企业经历了某种 API 安全事件。

如果要认真使用 API,就必须考虑 API 的安全性。 API 标记是 API 开发人员为确保其 API 资产尽可能安全而采用的最流行方法之一。

为了帮助您开始使用 API 标记,我们编写了一份详尽的指南,其中包含您想知道的有关使用 API 标记的所有信息。

API令牌指南

让我们从定义开始。 API 标记到底是什么? API 标记有时也称为访问标记,是包含用户相关信息的小型代码集合。 虽然这些代码段很小,但却包含大量数据。

API 令牌通常也是针对特定设备的。 用户可能需要在智能手机上获得一个 API 标记,而在台式机上登录时则需要另一个。 这对提供商和用户都有好处,可以尽可能保证账户安全。

API 标记有时也可以扩展。 这种情况最常见于社交登录,例如您可以使用 Facebook 或 Google 登录。

API令牌的要素

API令牌只需几个字节就能传输大量数据。 API 令牌最常见的结构是:

  • 标头
  • 有效载荷
  • 签名

标头可让应用程序接口知道令牌的格式,从而知道该期待什么。 有效载荷或主体包含所有相关的用户数据,包括权限和过期时间。

有效载荷是 API 令牌最重要的部分。 它本质上是 API 的通行密钥。 特定的 API 资源需要 API 令牌有效载荷中的特定资产。 如果没有或不正确,调用者将无法访问该资源。

签名包含用户验证的所有数据。 签名通常是散列的,因此很难伪造。

在开发人员方面,应用程序接口开发人员可以自定义接收令牌的方式。 例如,谷歌允许用一个令牌访问九种不同的资源。 一个网站也可以有不同类型的令牌。 例如,Facebook 就提供四种不同类型的代币。

API令牌的工作原理

API 令牌的工作原理与 API 非常相似。 与应用程序接口一样,应用程序接口令牌以预先确定的格式提供有效载荷。 可以把应用程序接口想象成一把锁,应用程序接口令牌上有必要的凹槽,可以转动不倒翁。

API口令牌遵循一系列步骤。 首先,API 会验证有效负载中的用户名和密码。 验证完成后,应用程序接口就会向浏览器发送一个资产,并将其存储起来。 然后,无论您何时向应用程序接口发送查询,访问令牌都会随之一起发送。 它的作用就像握手一样,只要令牌有效,就能确保为您解锁 API。

还可以发放单点登录(SSO)令牌。 单点登录的一个典型例子就是我们前面提到的多站点身份验证场景。 例如,您可以使用 Facebook 登录到第三方 API。 不过,这些令牌的有效期并不长。 有时,它们的有效期只有 10 分钟。

0Auth 2.0 API 标记

0Auth 2.0 标准使现代应用程序接口安全成为可能。 0Auth 具有华而不实的仪表盘和简单的实施方法,而 0Auth 2.0 才是真正值得庆祝的。 0Auth 2.0 的诞生是为了弥补 0Auth 1.0 的一些不足。 新标准更适合移动设备,特别是与应用程序接口(API)配合使用。

0Auth 2.0 对于确保应用程序接口真正安全至关重要。 使用 0Auth 2.0 时,不会交换任何敏感信息。 这就是 API 令牌发挥作用的地方。 信用卡信息、登录凭证和密码等敏感信息都存储在外部服务器上。

0Auth 2.0 意味着应用程序接口生产者和消费者可以相互信任,而不会泄露敏感信息。 举个例子,想想没有标准化支付协议时的电子商务。 在那个年代,你可能不得不把信用卡号通过电子邮件发送给零售商,然后寄希望于最好的结果。

0Auth 2.0 API 令牌对最终用户也有好处。 它们让登录变得简单、轻松。 它还能更好地控制用户的数据,这在近年来不道德使用数据的情况下尤为重要。

0Auth 2.0 使用安全套接字层(SSL)来确保数据的保护和隐私。 SSL 使用最新、最强大的加密协议来确保数据安全。 然后通过 API 标记允许访问。 如果出现问题,0Auth 2.0 API 标记也更容易撤销。

OAuth.Tools

API 令牌逐渐成为主流的好处之一是,有许多工具可供您使用和学习。 您不必再浪费时间阅读文档和等待技术支持,这样您就可以专注于做自己真正想做的事情。

Curity 的 OAuth.Tools 是一个成熟的 OAuth 游戏场,可让您生成从 JWT 到自定义工作流的所有代码。 如果您只想生成令牌就完事,只需将 OAuth.tools 保存在书签栏中,以便需要创建 API 令牌时使用。

OAuth.tools 是进入 API 令牌世界的绝佳资源和入门工具,因为它的设计与平台无关。 许多其他 API 令牌提供商都是为特定产品设计的,所以你只能学习如何使用该特定资源。 在这里熟悉 OAuth 2.0 意味着你可以在任何情况下应用这些原则!

生成 API 令牌或 JWT 后,就可以直接在 Playground 上进行测试。 您只需创建一个环境,它就会生成端点、公钥、元数据和其他任何您可能需要的信息,以确保您的令牌正常工作。

如果你想卷起袖子真正了解 API 标记,代码片段也很方便。 有现实世界的例子作为工作基础,绝对是非常有用的。

API令牌的供应商

鉴于对 API 安全性的需求日益增长,如果你不想自己编写代码,有许多应用程序和服务可以用来生成 API 令牌,这并不奇怪。

其他一些 API 令牌提供商包括:

  • OneLogin
  • Okto
  • PingIdentity
  • Azure Active Directory
  • Duo Security

API 标记最佳实践

正如我们已经看到的,发行和使用 API 标记的方法有很多。 每种方法都有其优点和潜在缺点。 在决定哪种格式适合您的应用程序接口时,您可以考虑以下几点。

如果要为最终用户应用程序发放令牌,OAuth2 0 API 令牌是最好的选择,因为它能与资源服务器进行交互。

如果您的 API 打算用作其他应用程序的服务,则应使用简单的 API 标记。 对于任何涉及自动化的应用程序来说,这是最好的方法。 Stripe、Twilio 或 Send Grid 就是这种方法的范例。

如果使用基于令牌的方法,则应在 JSON 文件的 Authorization: Bearer 对象中。 与其使用简单的基于字符串的验证器,不如使用我们前面谈到的 JWT 格式。 JWT 已经得到广泛应用,因此大多数编程语言和框架都能对其进行解码。

API令牌实例

为了全面了解 API 标记,让我们来看看生产中的一些 API 标记示例。 例如,访问 Google API 需要使用 OAuth 2.0 和访问令牌。 在访问令牌中插入必要的作用域,必要时在过期时刷新访问令牌。谷歌提供了一个有用的游戏平台,开发人员可以在这里选择适当的应用程序接口、分配作用域、生成令牌并测试 HTTP 请求示例。

另一个使用 API 令牌的例子是开放银行业务。 例如,在使用 Nordea 的开放银行 API 目录进行授权时,需要使用 API 令牌。 为了访问这些 API,需要在请求头中向服务器发送访问令牌。 然后使用该令牌对客户端进行身份验证和授权。

最后,API 标记也经常被用来帮助在零信任架构中授权权限。 例如,内部部署的云原生 DevOps 工具需要授权正确的范围,以确保始终遵循最小权限模型。 Azure DevOps 服务 REST API 就是一个例子。 该服务支持读写功能,并接受一个授权标头,客户可在该标头中插入一个描述客户授权信息的承载令牌。

API 标记: 最终想法

API 不会消失。 这就意味着我们需要认识到 API 的安全性,以确保我们的 API 产品是安全可靠的,这样我们才能放心使用。 不过,这些预防措施必须简单易用,否则人们就不会使用我们的 API 产品。

API 令牌用一种巧妙的方法为我们解决了许多此类问题。 它们还可以自定义,为从普通用户到您的忠实受众提供多种配置。

API 令牌对于数据隐私和安全也至关重要。 考虑到这些都是我们的远程经济所面临的一些最紧迫的问题,你肯定应该知道如何使用 API 令牌作为你的开发工具箱的一部分。

原文链接:https://nordicapis.com/everything-you-need-to-know-about-api-tokens/

#你可能也喜欢这些API文章!