使用查询字符串或基本身份验证用于用户名和密码有什么区别?

时间:2014-04-11 19:11:20

标签: rest authentication

在选择是否应将用户名和密码作为查询字符串指定给REST请求时,是否存在安全性或其他注意事项"?user = key& password = secret"或者作为典型的Base64编码的Basic Auth字符串?

我可以做任何一种,而且我不确定在哪种情况下一种方法比另一种方法更好?在这种情况下,将始终使用HTTPS。

FWIW,这只会用于身份验证而不是授权。

1 个答案:

答案 0 :(得分:0)

由于您使用的是Https,因此安全级别相同。

查询字符串和标题将在传输过程中隐藏给任何人。我认为唯一可见的是uri(即www.google.com/about /)

只有客户端(浏览器)和服务器才会看到标题和查询字符串。

但是,您几乎完全依赖HTTPS作为您唯一的安全级别。

另外,我想建议的另一点是,如果你制作公共REST Api,那么我就不会依赖cookie。如果您计划从查询字符串请求设置身份验证Cookie。因为实际上,只有浏览器使用cookie。如果它是一个REST Api那么..你可能有智能客户端连接和cookie不是理想的。

我认为Basic Auth将是REST Api的更好选择。