REST用户认证

好的......基本的想法是让SERVER和CLIENT物理分离(两个系统)。

我的想法是构建一个将提供的独立Web服务(REST,XML,API-KEY)

  • 身份验证:用户登录,注销
  • 数据:获取产品列表
  • 然后我将创建不同语言的客户端(Flash,PHP,JavaScript)。 数据将仅供认证用户使用。

    用户获取产品列表的Tipical通信将是:

  • (1个请求)登录/开始会话
  • (1请求)获取产品清单
  • (1请求)获取产品清单
  • ...
  • 好的...现在我遇到的问题是用户会话。 假设我们要构建Javascript客户端,我们实际上必须创建将与REST通信的PHP客户端(PHP知道REST API-KEY),并将信息转发给Javascript(客户端)。 用户将通过PHP登录到REST服务器,然后通过PHP向REST服务器请求数据?

    问题:

  • 现在PHP如何在REST服务器上存储有关打开的用户会话的信息?
  • 如果我的想法不好,那么正确的实施方式是什么?
  • 备择方案?

  • RESTful界面不存储关于特定用户会话的任何信息。 客户的工作是维护关于它在做什么的信息。

    通过在Authorization HTTP标头中提供信息来对每个请求进行身份验证。 如果这成为性能问题,那么请查看其他解决方案来优化perf。


    对于您的第一个问题:对服务的XmlHttpRequest请求仍然会传递Cookie,这可用于传播会话ID。 甚至可以(假设最终用户的浏览器支持它)将cookie标记为“HttpOnly”,以减少XSS的占用空间。 请参阅杰夫阿特伍德的文章,了解一些细节。


    您应该使用HTTP身份验证来进行用户身份验证,因此不需要执行任何类型的会话管理。

    链接地址: http://www.djcxy.com/p/21965.html

    上一篇: REST user authentication

    下一篇: Best way to cache RESTful API results of GET calls