【问题标题】:Why services need an application ID, API key and API secret?为什么服务需要应用程序 ID、API 密钥和 API 机密?
【发布时间】:2017-02-21 14:56:57
【问题描述】:

我试图了解为什么服务(例如 - 但不限于 - Cloudinary)需要 应用程序 IDAPI 密钥 API 秘密

cloudinary.config({ 
  cloud_name: 'sample', // basically an application ID
  api_key: 'XXXX', 
  api_secret: 'XXXX' 
})

我的理解是这样的

  • 应用程序 ID 标识应用程序
  • API Secret 类似于密码
  • 我不知道您为什么还需要(公共)API 密钥

谁能解释一下?

【问题讨论】:

  • 使用正确存储的凭据,您需要 1) 标识符(“用户名”,api_key)和 2)秘密(“密码”,api_secret)。第三件事可能只是一个友好的标识符,它显示在某处的日志或管理 UI 中,但不用于其他任何事情。
  • 我认为这完全有道理,因为每个应用程序都可以有多个秘密。 key 只是标识每个记录的秘密,对吗?

标签: security encryption cloudinary


【解决方案1】:

让我们指出关键点:

  1. 它们是公开记录且可访问的,任何人都可以访问那里的端点。
  2. 这些服务大多是经过一定使用限制的高级服务。
  3. 服务器在带宽、内存、空间等方面涉及各种成本。
  4. 他们可能正在处理敏感/版权数据。

现在,想想如果有人试图做一些恶意的事情所带来的损失。这可能给服务提供者或服务客户造成巨大损失。

因此,服务使用不同的方法来限制/保护使用,即没有未经授权的个人能够访问它们。

  • unique_end_point_name(应用程序 ID)
  • api_key(API 密钥)
  • api_secret(API 秘密) 是一种流行的方式来做到这一点,并将控制权转移到服务给客户。

因此,客户只负责服务所涉及的任何费用。

API 密钥 在最终用户之间共享,因此客户只批准来自这些来源的请求,然后使用他自己的 API 密钥 来使用服务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-17
    • 2012-07-18
    • 1970-01-01
    • 2017-08-28
    • 2013-07-16
    • 1970-01-01
    • 2010-10-03
    • 2010-09-10
    相关资源
    最近更新 更多