Api 为什么要使用访问令牌?

Api 为什么要使用访问令牌?,api,rest,authentication,Api,Rest,Authentication,我正在设计一个RESTAPI,供特定授权机器用于与服务器通信。服务器需要验证客户端的身份 我看到很多API使用访问令牌,也就是说,您首先使用完整凭据授权以获取访问令牌,然后使用该令牌发出所有进一步的请求。令牌仅在一段时间内有效。我不太明白为什么每次都这么做,而不是发送凭证,尽管我能想到几个原因: 能够与第三方共享此令牌,而无需将凭据委托给他们(在我的情况下,这不是一个要求) 使用比令牌更安全的方法传输凭证(尽管我无法想象该方法会是什么) 降低中间人可以获得凭证的风险,只暴露临时令牌(中间人可以

我正在设计一个RESTAPI,供特定授权机器用于与服务器通信。服务器需要验证客户端的身份

我看到很多API使用访问令牌,也就是说,您首先使用完整凭据授权以获取访问令牌,然后使用该令牌发出所有进一步的请求。令牌仅在一段时间内有效。我不太明白为什么每次都这么做,而不是发送凭证,尽管我能想到几个原因:

  • 能够与第三方共享此令牌,而无需将凭据委托给他们(在我的情况下,这不是一个要求)
  • 使用比令牌更安全的方法传输凭证(尽管我无法想象该方法会是什么)
  • 降低中间人可以获得凭证的风险,只暴露临时令牌(中间人可以等待新令牌请求的凭证;SSL也应该消除这个攻击向量)
  • 对令牌请求端点进行速率限制,使得攻击者无法在不限制令牌访问端点的情况下强行对其进行攻击(那么,为什么不锁定任何试图使用无效凭据访问它的人,而不限制有效凭据的速率?)
考虑到这一点,我仍然不知道应该在API中使用令牌还是完整凭据。我遗漏了什么重要的论点吗?仅使用凭据是否安全