通过SSL和HTTP基本身份验证的REST服务

时间:2011-09-01 02:03:45

标签: security rest jquery http-basic-authentication

Securing an API: SSL & HTTP Basic Authentication vs Signature中,如果通过SSL进行REST调用,则引用HTTP基本身份验证作为保护REST Web服务调用的适当方法。

但似乎这种方法仍然不适用于使用Ajax来调用SSL服务受保护的REST服务的不安全客户端页面。基本认证

我正在尝试设计一个使用常规方式执行密码重置的应用程序:

  1. 用户输入用户名并请求“重置密码”电子邮件
  2. 用户收到包含可验证令牌的密码重置链接的电子邮件
  3. 用户点击链接并(在验证令牌后)输入更新后的密码
  4. 根据定义,这些页面需要登录。可以使用调用REST服务的Ajax来实现此UI,以执行验证令牌,发送电子邮件等操作吗?即使这些REST服务受SSL和SSL保护。基本身份验证,您需要调用服务的信息(即应用程序的“用户名”和密码)最多只能通过浏览器访问。

    我知道我错过了什么。我只是不知道:-)

2 个答案:

答案 0 :(得分:1)

只要在SSL下发生1到3次,数据就可以安全地连接到服务器(假设您信任证书颁发机构)

在此过程中,浏览器会将这些凭据保存在内存中。如果用户要输入数据,您别无选择,只能相信它。

网站代码决定是否在Cookie中存储信息。

如果1 - 3属于SSL,我认为你应该没问题。

答案 1 :(得分:0)

我不知道你在保护什么,所以我只是想出一些想法。

如果您(或其他发出声音的人)无法控制依赖方的根列表,则SSL和TLS没有意义。我之所以这么说,是因为我希望如果你不相信那个拥有锁钥匙的人那么你就不会把钱存入他的金库。因此,如果加载登录页面的用户在野外,那么用户/通过TLS是一个低标准,绝对足以保护我最喜欢的电影列表。

卡尔比称赞所有人都是FSM