通过HTTPS进行RESTFul身份验证的解决方案

时间:2011-12-24 03:31:11

标签: security restful-authentication

实际上很多关于身份验证的讨论都是REST架构,所以我认为我们很快就会将解决方案放在一个地方。这个解决方案听起来有点不错:

(安全专业人士,plz评论)

  1. 用户使用其用户名和密码登录
  2. 在服务器上,验证用户名和密码
  3. 如果凭据有效,我们会通过将时间戳与用户ID混合来获得唯一ID。我们使用表来映射uniqueId-> userid,我们为刚刚生成的唯一ID和用户ID创建一个条目

  4. 此外,我们设置了一个HTTP标头,说id包含唯一ID,而userid设置为字符串连接,如<uniqueId>#<userid>.

  5. 在每次请求时,客户都必须提供此信息,

  6. 如果来自客户的请求要求我们确定客户是谁以便我们可以检查他的权限,那么我们这样做:

  7. 获取http标头#,

    如果不包含无效用户

    如果包含check in in database,如果映射uniqueId-&gt; userid存在

    如果是,我们已经识别出用户无效的用户

    此计划的全部内容均采用HTTPS

1 个答案:

答案 0 :(得分:1)

如果你是通过HTTPS,我认为你不需要这么复杂的解决方案。您甚至可以要求客户端在每次请求时都传输用户名和密码。只要客户端没有受到损害,就没有问题。如果它受到损害,整个解决方案无论如何都会崩溃。

总的来说,我认为大多数开发人员都对通过HTTP而非HTTPS的解决方案感兴趣。但为此,已有经过验证的解决方案,如OpenID或OAuth。