具有分区客户端和范围配置的单一身份

时间:2016-03-28 03:38:25

标签: identityserver3

问题

让我们说组织需要为其所有消费者(非员工)用户提供单一用户身份。该组织规模庞大,拥有许多业务部门,这些部门运营着面向消费者的应用程序,但所有这些都需要使用单个IDP的用户。

每个业务部门必须能够使用IDP控制自己的应用程序配置,并且无法控制任何其他BU的应用程序配置。

所有消费者身份都是作为组织的用户配置流程的一部分创建的,以验证此人的身份。没有自我注册。

选项1

我的第一个想法是拥有单独的身份服务器,每个业务部门一个。这至少提供了配置分离。然后只为消费者用户提供一个组织IDP。

每个特定于BU的IDP都支持来自组织IDP的登录,可以从BU IDP登录屏幕中选择,也可以立即重定向到组织IDP,如果BU特定应用程序要求它这样做的话。

这是一种多租户,尽管不是单一服务产品。它确实意味着每个BU管理他们的用户身份和应用程序配置,并允许通过单一的组织身份(加上本地BU IDP帐户)登录。此外,admin(一些员工)用户可以通过本地BU帐户或公司AAD身份登录(如果已配置)。

选项2

拥有单个组织标识服务器并提供配置api / ui以支持客户端和范围数据的分区。这意味着每个BU仅限于其应用程序标识配置数据,但允许所有用户使用所有应用程序而无需拥有许多本地帐户(每个BU IDP中有一个)。

每个应用程序必须具有某种范围的命名约定,以便不与另一个BU的应用程序中使用的范围冲突。像_mywebapi。

我的问题是选项1应该是选项2的架构选择,其中许多业务部门想要控制他们自己的基于令牌的应用但想要消费单个用户身份?或者还有其他选择吗?

1 个答案:

答案 0 :(得分:1)

你可以将两者结合起来。您可以使用中央令牌服务来实现SSO,并且只需为用户向所有业务部门发出唯一ID即可。然后,业务部门拥有自己的令牌服务,允许他们控制应用程序和apis的访问和配置。

要将两个令牌服务连接在一起,您将业务单位令牌服务联合到中央令牌服务。