【发布时间】:2012-01-27 04:38:01
【问题描述】:
在网络上确实有很多关于身份验证的讨论是 REST 架构,所以我认为现在是时候将解决方案放在一个地方了。听起来不错的解决方案:
(那里有安全专家,请评论)
- 用户使用他的用户名和密码登录
- 在服务器上验证用户名和密码
如果凭据有效,我们通过将时间戳与用户 ID 混合来获得唯一 ID。我们使用一个表来映射 uniqueId->userid,并为我们刚刚生成的唯一 id 和 userid 创建一个条目
此外,我们设置了一个 HTTP 标头说 id,其中包含唯一 id 和 userid,有点像这样
<uniqueId>#<userid>.客户端必须在每次请求时提供此信息,
如果来自客户的请求要求我们识别客户是谁,以便我们可以检查他的权限,那么我们这样做:
获取http头#,
如果不包含无效用户
如果映射 uniqueId->userid 存在,则包含检查数据库
如果是,我们已经识别出用户否则无效用户
整个方案都在 HTTPS 上
【问题讨论】:
-
我会考虑使用像 OpenID 这样存在的东西,而不是发明新的东西。
标签: security restful-authentication