Web API - 使用SSL的HTTP标头与主体中的身份验证凭据?

时间:2015-06-05 21:08:01

标签: http authentication ssl asp.net-web-api

我在HTTP Body中发送用户名和密码,以便对controller action中的每个Web API进行身份验证。我使用用户名/密码在每个控制器中进行身份验证。它正在使用SSL

是否有任何安全原因,为什么最好在authentication credentials中发送HTTP Header而不是HTTP body

如果我使用Basic Authentication,我可以看到如何在this question中使用标题中的凭据,但我不是这样,我看不到目的。只要它使用SSL,它似乎同样安全。

1 个答案:

答案 0 :(得分:2)

从SSL角度来看,HTTP请求的标头(HTTP Basic auth)或正文(例如基于表单的登录)中的凭据安全性相等。

但是,如果客户端是常规Web浏览器,则应考虑以下事项:

浏览器缓存用于HTTP基本身份验证的凭据,用户通常会面临执行注销的问题,他们必须关闭浏览器。

另一方面,基于表单的登录通常会创建一个时间限制的会话cookie,并且可以随时删除。