嘿伙计们,这似乎一直在讨论相当频繁,但我想做一个简单的,淡化的问题围绕使用RESTful服务进行身份验证。场景如下:RESTful用户认证服务
- 有一个系统,为注册用户提供一个应用程序。系统公开用于访问这些用户的RESTful API。
- 有一个具有登录表单的前端应用程序。应用程序可以是内部的,也可以是外部的。
- 前端应用程序需要使用用户系统中的数据来认证用户。现在
的问题是如何将其凭据(用户名/密码),在用户系统中,使得它的安全性和高性能的针对数据的客户端应用程序中输入验证用户的身份?为了这个问题,假设客户端应用程序在某种Intranet内部,但应用程序不会驻留在同一台机器上,并且只能通过服务进行通信。
我明白应用程序是“超媒体驱动”的想法,但我们应该能够提供过滤/搜索服务。例如,考虑资源和如下API:
- http://example.com/users
- GET - 检索所有用户(分页,超媒体驱动)
- POST - 创建新的用户
- PUT/DELETE不支持
- http://example.com/users/[id]
- GET - 返回与ID = {ID}
- PUT用户的完整表示 - 更新用户,需要在任何预定义的媒体类型
- 删除 - 删除用户(具有适当的授权)不支持
- POST
基于上述,我的想法是在客户端应用程序中获取用户列表,通过用户名进行过滤。该服务将把散列的密码和salt返回给客户端,客户端将执行认证。
想法?
你能更具体地说明问题是什么吗?我很难理解你想要什么样的反馈。 – 2010-01-07 05:38:38