node.js用于客户端 - 服务器交互的webservice身份验证

时间:2013-10-13 08:56:15

标签: web-services node.js rest authentication connect

我正在设计一个架构,其中Web界面是一个客户端(使用前端js框架开发),所有请求都被路由到多个Web服务。

所有通信都将使用标准HTTP响应和JSON实体进行。

现在我正面临着身份验证机制。 我的服务当然会有几个用户,我需要限制对用户资源的访问。

用户将1)登录到Web客户端(/admin),然后2)客户端js将代表用户在webservices上执行几个AJAX请求。

我应该在客户端/服务器之间创建持久会话,然后在每个请求旁边传递一些引用,或使用无状态方法验证每个请求吗?如何在不给系统增加太多开销或复杂性的情况下验证当前用户的Web客户端请求?

我正在看护照本地和护照-localapikey但是我不太清楚我是否应该授权我的客户或用户本身(这意味着我在执行网络服务时应该只为所有用户提供一对凭证请求或每个用户一对?)

一个简单的例子(解释我不需要复制粘贴代码)将非常感激。在这个阶段,我更倾向于解决方案引入较少的复杂性,但是为了能够非常快速地设置它,可以提供良好的安全性。

PS。我还可以考虑创建一个独特的服务处理身份验证,以便创建一个在客户端和服务器之间共享的通用API,但这似乎对我来说有点过度工程。

谢谢,

1 个答案:

答案 0 :(得分:0)

如果您已经使用Express作为Node.js的框架,您可以使用它内置的会话处理。它能够使用任何类型的会话存储,包括内存,redis,mongo等。

这里有一个很好的例子:http://blog.modulus.io/nodejs-and-express-sessions