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

Web services node.js rest webservice用于客户端-服务器交互的身份验证,web-services,node.js,rest,authentication,connect,Web Services,Node.js,Rest,Authentication,Connect,我正在设计一个架构,其中web界面是一个客户端(使用前端js框架开发),所有请求都被路由到多个web服务 所有通信都将使用标准HTTP响应和JSON实体进行 现在我面对的是身份验证机制。 当然,我的服务将有多个用户,我需要限制对用户资源的访问 用户将1)登录到web客户端(/admin),然后2)客户端js将代表用户在web服务上执行多个AJAX请求 我应该在客户机/服务器之间创建一个持久会话,然后在每个请求旁边传递一些引用,还是使用无状态方法对每个请求进行身份验证?如何在不给系统增加太多开销或

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

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

现在我面对的是身份验证机制。 当然,我的服务将有多个用户,我需要限制对用户资源的访问

用户将1)登录到web客户端(
/admin
),然后2)客户端js将代表用户在web服务上执行多个AJAX请求

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

我正在查看passport local和passport localapikey,但我不太清楚我是否应该授权我的客户机或用户本身(这意味着在执行web服务请求时,我应该为所有用户只拥有一对凭据,还是每个用户拥有一对凭据?)

一个简单的例子(说明我不需要复制粘贴代码)将非常感谢。在这个阶段,我更喜欢引入较少复杂性但提供良好安全性的解决方案,以便能够非常快速地进行设置

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


谢谢,

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


这里有一个很好的例子:

是的,我在客户端网站(在/admin上响应的网站)和Web服务器上都使用express。那么,您的目的是否建议在用户登录时初始化的所有服务之间共享会话?我说得对吗?在您的体验中,使用无状态交互会更好/最差吗?顺便说一句,我喜欢这个解决方案,因为它看起来部署起来更快。