【问题标题】:Where the API Token should be put in standard form? Header or URI?API Token 应该以标准形式放在哪里?标头还是 URI?
【发布时间】:2014-02-17 06:46:54
【问题描述】:

我正在使用 ASP.Net WebAPI 开发 API,并使用访问令牌授权客户端。我想知道哪个来源更标准地放置访问令牌?标题、Uri 还是正文? 例如,在 Instagram API 中,客户端应将 uri 中的访问令牌作为查询字符串传递。但我认为在 Twitter API 中,请求必须包含 Authorization 标头。

如果有标准规则,请告诉我。

【问题讨论】:

  • 标头更安全。
  • @RezaOwliaei 怎么样?给我一个理由!
  • 对敏感数据使用 GET 是一个坏主意,原因有以下几个: 主要是 HTTP 引荐来源网址泄漏(目标页面中的外部图像可能会泄漏密码) 密码将存储在服务器日志中(这显然很糟糕) 浏览器中的历史缓存

标签: asp.net api security asp.net-web-api


【解决方案1】:

安全相关信息(例如 API 令牌)位于 Authorization 标头中。这就是它的设计目的。

将 api 密钥放在 URI 中会增加 API 密钥存储在日志文件中的机会,并且会大大降低公共缓存的效率。

【讨论】:

  • 我不明白你回答的第二部分。请您再给我解释一下好吗?
  • @RezaAhmadi 将 API 密钥添加到 URI 会更改资源标识符。这意味着如果您尝试缓存该表示,那么您可能会在缓存中为每个 API 密钥获取该表示的副本。一些缓存选择忽略查询字符串,但其他缓存不选择。
猜你喜欢
  • 2012-04-05
  • 2019-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-09
  • 1970-01-01
相关资源
最近更新 更多