是否有一种很好的“审查”方式来处理为不同租户提供同一帐户的多个副本?是否有一些推荐的设计模式?
在我的情况下,我们的应用程序根据URL路由租户:
https://ten_a.software.com --> selects "ten_a" tenant
https://ten_b.software.com --> selects "ten_b" tenant
我遇到了这个问题:
拥有ten_a
帐户的Bob尝试登录ten_b.software.com
,甚至softare.com
。如果Bob只是在他的浏览器中键入URL,那么让他知道使用正确的地址并不多,但当另一个实体尝试通过OAuth2交换验证Bob时,这会变得更加复杂。该第三方可能不知道哪个租户指示其身份验证请求。我在这里只看到两个解决方案:
我在这里遗漏了什么吗?
答案 0 :(得分:1)
我在这里扭曲你的问题。假设Bob在ten_a
和ten_b
上都有帐户?
如果要向Bob提供一个网络范围的帐户,该帐户可以将Bob的特定于租户的帐户链接在一个用户下,这将简化对第三方身份验证的支持。在一个模棱两可的情况下,仍然会有UI开销,因为Bob必须选择正确的租户,但那是必要的恶意。
如果问题是Bob @ ten_a与Bob @ ten_b不同,那么URL路由变得至关重要,特别是考虑到OAuth支持。仅在Bob访问特定租赁时启用OAuth(例如ten_a.software.com
)。尝试使用OAuth登录software.com
会失败。
如果Bob忘记了特定于租户的URL,则应该是租户管理员有责任提醒他。
这大致是Google Apps在我多年前拥有帐户时仍在使用的模式。