Menu Close

11.3.2. App_ID 和 App_Key 对

API Key Pattern 将应用程序的身份和 secret 用量令牌组合在一个令牌中,但这种模式将两者分开:

  • 使用 API 的每个应用都发出不可变的初始标识符,称为 应用 ID(App ID)。App ID 是恒定的,不一定是保密的。
  • 此外,每个应用程序都可以有一到五个 应用密钥 (App_Keys)。每个密钥都直接与 App_ID 关联,应视为机密。
app_id = 80a4e03 app_key = a1ee8bf10a4e0d1f13853a76f7c8d5f4

在默认设置中,开发人员可以为每个应用创建最多五个密钥。这允许开发人员创建新密钥,将它添加到代码中,重新部署其应用,然后禁用旧密钥。这不会以 API 密钥重新生成的方式造成应用程序停机。

统计信息和速率限值始终保持在应用程序 ID 的粒度级别,而不是每个 API 密钥。如果开发人员希望跟踪两组统计数据,他们应创建两个应用,而不是两个键。

也可以更改系统上的模式,并允许在没有应用密钥的情况下创建应用程序。在这种情况下,3scale 系统将仅根据 App ID 验证访问权限(不进行密钥检查)。此模式可用于小部件类型场景,或者对用户而非应用程序应用速率限制。在大多数情况下,您可能希望 API 强制每个应用程序存在至少一个应用程序密钥。此设置包括在 [your_API_name] > Integration > Settings 中。