【问题标题】:Solution to RESTFul authentication over HTTPS通过 HTTPS 进行 RESTFul 身份验证的解决方案
【发布时间】:2012-01-27 04:38:01
【问题描述】:

在网络上确实有很多关于身份验证的讨论是 REST 架构,所以我认为现在是时候将解决方案放在一个地方了。听起来不错的解决方案:

(那里有安全专家,请评论)

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

  4. 此外,我们设置了一个 HTTP 标头说 id,其中包含唯一 id 和 userid,有点像这样<uniqueId>#<userid>.

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

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

获取http头#,

如果不包含无效用户

如果映射 uniqueId->userid 存在,则包含检查数据库

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

整个方案都在 HTTPS 上

【问题讨论】:

  • 我会考虑使用像 OpenID 这样存在的东西,而不是发明新的东西。

标签: security restful-authentication


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 2021-06-19
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    相关资源
    最近更新 更多