REST和认证 我们在设计REST(Representational State Transfer)风格的Web service API,有一个问题经常要考虑,就是如何设计用户认证的体系(Authentication). 比较传统的做法是首先有一个登陆的API,然后服务器返回一个session ID,后续的操作客户端都必须带上这个session ID,但是这样的,服务就变成了有状态了,不符合REST风格的原则。另外,由于负载均衡的存在,必须有公共存储来保存用户的Session,这也增加了系统的复杂度。 所以比较好的做法是每次都传递认证信息,这样系统就是无状态的,当然由于每次都需要认证,必然降低了一些效率,必要的时候要考虑缓存用户信息在服务器端。 有几点要注意: 1、密码不能传播 一个比较低级的错误是通讯时,由客户端传递用户名和密码到服务器端认证,这样很容易被黑客攻击造成密码泄露。 标准的做法是使用HMAC(Hash-based Message Authentication Code),想法就是不传播password,而传播content和password的混合hash值。我们来看看Am...
 发布日期: 2015-02-27    分类: 其他    浏览量: 5297