REST 授权:授权 Header 与 JSON body 中的 Username/Password

REST Authorization: Username/Password in Authorization Header vs JSON body

我正在使用令牌式身份验证过程。客户端获得令牌后,要么在客户端的 cookie 中设置(对于 Web),要么在客户端请求的授权 header 中设置(对于移动设备)。但是,为了获得有效的令牌,客户端必须首先 "log in" 使用有效的 username/password 组合。我的问题是:

通过在授权 header 中发送 username/password 组合与作为请求的 JSON body 中的参数相比,是否有任何额外的安全性(假设我'我正在使用 HTTPS)?

我只需要发送 username/password 组合 "once" 每个 session 以获得令牌。如果我按照 "basic-auth" 风格来做,我会得到什么吗?

与 JSON body 相比,在 Authorization header 中发送凭据没有增加安全性。使用 Authorization header 的优点是您可以利用标准化的 HTTP 语义,而不必准确记录客户端应该做什么。您只需将它们指向 RFC。

如果您担心自己真的 RESTful,我会说必须使用 Authorization header 而不是滚动您自己的方法。