我正在设计一个架构,其中 Web 界面是客户端(使用前端 js 框架开发),所有请求都路由到多个 Web 服务。
所有通信都将使用标准 HTTP 响应和 JSON 实体进行。
现在我面临着身份验证机制。当然,我的服务会有多个用户,我需要限制对用户资源的访问。
用户将 1) 登录到 Web 客户端 ( /admin
),然后 2) 客户端 js 将代表用户对 Web 服务执行多个 AJAX 请求。
我应该在客户端/服务器之间创建一个持久会话,然后在每个请求旁边传递一些引用,还是使用无状态方法对每个请求进行身份验证?如何在不给我的系统增加太多开销或复杂性的情况下验证当前用户的 Web 客户端请求?
我正在查看passport-local和passport-localapikey,但我不太清楚是否应该授权我的客户或用户本身(这意味着在执行Web服务请求时我应该为所有用户只拥有一对凭据或一个每个用户配对?)
一个简单的例子(解释我不需要复制粘贴代码)将不胜感激。在这个阶段,我更喜欢引入较少复杂性但提供良好安全性的解决方案,以便能够非常快速地设置它。
PS。我还可以考虑创建一个独特的服务处理身份验证,以便创建一个在客户端和服务器之间共享的通用 API,但这对我来说似乎有点过度设计。
谢谢,