Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rest 使用头或POST数据传递HTTP身份验证令牌?_Rest_Http_Http Headers_Authorization - Fatal编程技术网

Rest 使用头或POST数据传递HTTP身份验证令牌?

Rest 使用头或POST数据传递HTTP身份验证令牌?,rest,http,http-headers,authorization,Rest,Http,Http Headers,Authorization,在设计HTTP API时,我们是否有理由选择一种方法而不是另一种方法: 在头中传递身份验证令牌 是否在POST数据中传递身份验证令牌 我可以理解为什么在查询中传递它有缺点:URL可以记录在客户端或服务器端。在标头或POST数据中传递令牌是否有类似的副作用?我正试图在这两种方法之间做出选择。我认为最好使用头来传递身份验证令牌。我认为,最重要的论点是,您可以在浏览器中看到令牌,如果您使用HTTPS,它们也将是可见的(只有有效负载是加密的) 也就是说,我认为您应该利用HTTP提供的现有身份验证机制

在设计HTTP API时,我们是否有理由选择一种方法而不是另一种方法:

  • 在头中传递身份验证令牌
  • 是否在POST数据中传递身份验证令牌

我可以理解为什么在查询中传递它有缺点:URL可以记录在客户端或服务器端。在标头或POST数据中传递令牌是否有类似的副作用?我正试图在这两种方法之间做出选择。

我认为最好使用头来传递身份验证令牌。我认为,最重要的论点是,您可以在浏览器中看到令牌,如果您使用HTTPS,它们也将是可见的(只有有效负载是加密的)

也就是说,我认为您应该利用HTTP提供的现有身份验证机制/头:

  • 例如,标题
    授权
    -参见RFC 2617:
  • 此链接还可以为您提供一些关于RESTful服务中身份验证实现的提示-请参阅
希望这对你有帮助,
Thierry

URL日志记录也是我想到的主要问题。比起客户端和服务器,我更关心代理——即使假设您的身份验证是通过HTTPs进行的,一些公司环境也会在中间执行SSL man,并且仍然可以看到URL。URL也可能更容易受到不必要的登录的影响,从而有人刷新浏览器并生成新的登录请求;浏览器不会自动重新提交帖子内容。(当然,如果您有一个与浏览器无关的纯API,请忽略这一点)。没有特别考虑到职位。