创建由 restful 网络服务支持的多租户 SPA

creating a multitenant SPA backed by restful web services

我正在尝试使用 HTML5/Javascript 创建多租户 SPA(单页应用程序)。此应用程序将调用 restful 网络服务进行数据更新。下面是架构图:

这些是我的挑战:

我应该只部署多个网络服务副本吗?比如说,app1 JS 查询服务。app1.com 和 app2 JS 查询服务。app2.com?这可能会解决上述两个问题,但我认为它不再是多租户解决方案。

这通常是通过经过身份验证的令牌来完成的。这通常由标准 session cookie(由您使用的任何应用程序服务器实现)或在每次调用时得到验证的较少状态的东西(如 OAuth bearer token)处理。这最终是相同的解决方案,一个使用 cookie(通过 HTTP header 实现),另一个使用 Auth http header。无论如何,基本上发生的是向每个用户发出一个魔术字符串,该字符串在每次调用时都经过身份验证,属于一组特定的凭据。

理论上和你的"APPID"很相似,不同的是token是不透明的,而且很可能无法猜测它们的长度和复杂度(在heat-death宇宙之前) ,因此是有效安全的。不同之处在于,您在服务器端而不是客户端持有令牌与 which "APPID" 之间的绑定。