如何在使用不同授权系统的应用程序之间共享数据

问题描述 投票:0回答:1

假设我有两个不同的全栈应用程序,由同一家公司构建,它们共享用户群,但也可能有只使用其中之一的用户。这些应用程序各自拥有通过 API 公开的资源,并且每个应用程序的身份验证设置允许用户与他们创建的组中的其他人共享数据。每个组都允许所有者用户为其他每个成员设置权限。

现在假设应用程序 A 的组 1 中的用户希望与应用程序 A 的组 1 中的其他团队成员共享应用程序 B 中的数据。如果应用程序 B 不共享相同的身份验证层次结构,那么应用程序 B 如何允许用户共享此数据作为应用程序 A?

具体来说,如果上述组中的其他用户之一登录应用程序 A 并希望查看原始用户共享的数据,那么应用程序 B 如何接收带有非该用户的 userid 的身份验证令牌的请求应用程序 B 中的资源所有者响应成功?

是否应该重构这两个应用程序以共享通用的用户身份系统(具有相应的组层次结构)和通用的授权系统?或者,如果允许组访问资源的概念,用户是否需要在应用程序 B 中构建镜像或组层次结构和角色?

到目前为止,我已经尝试过一种设计,其中公司中的每个应用程序都需要使用共享用户域和分组层次结构,这在概念上似乎可行,但如果不同的应用程序想要支持不同的分组拓扑,则灵活性较差。在拥有多个部门(金融服务、电子商务、营销等)的公司中,每个领域的用户上下文及其特定的身份验证和访问模式可能略有不同。有没有更好的联合方式来实现跨系统共享?

security architecture authorization enterprise identity-management
1个回答
0
投票

如果

Authorization Service
是集中式的(管理用户角色和权限),您的整个公司可以将所有应用程序(在其他组织和部门中)的角色和权限逻辑外部化到此服务。通常
Authorization
由身份服务管理并与用户数据紧密结合。不确定我是否回答了您的问题 - 但希望这能给您一个想法。

© www.soinside.com 2019 - 2024. All rights reserved.