面向 SaaS 应用程序用户的 Azure AD OpenId Connect
Azure AD OpenId Connect for users of SaaS Application
我正在将“内部部署 WinForms 应用程序”迁移到用 ASP.NET CORE 编写的“多租户 SaaS 应用程序”。 SaaS 应用程序将由多个租户使用,租户看不到彼此的数据。在我们的遗留产品中,用户配置文件和凭据存储在每个客户的数据库中,客户可以 add/remove 系统中的用户,因为他们认为合适。
在 Web 环境中,通过将用户配置文件和凭据与应用程序数据本身分开,身份提供者似乎是建议的途径。但是,我们的大部分数据都与 UserId 相关联,因此了解哪个 USER 创建了记录很重要。
现在,在 Azure AD 中,设置会将所有客户的所有用户放入 1 个 Azure AD。我对此没有特别的问题,但我如何知道用户帐户属于哪个客户?
例如,客户 ACME 有 2 个用户:Bob 和 Bill。我的另一个客户 FOOBAR 有 2 个用户:Jean 和 Jack。如果 Jean 针对 Azure AD 进行身份验证,我需要知道 FOOBAR 的唯一 ID,以便我可以筛选 Web 应用程序中的数据。当 Azure AD 从 OpenId Connect 发回 IDToken 时,声明中的 TenantId 是我公司的 TenantId,而不是 CUSTOMER 的租户标识符。
如果我们要部署多租户 SaaS 应用程序并使用 Azure AD 进行身份验证并仍然控制哪些用户可以访问该应用程序,建议的设置是什么? Azure 活动目录 B2B?
您使用 security groups (one per customer) and Configure group claims 对用户进行分组,以便将他们放入令牌中。
我正在将“内部部署 WinForms 应用程序”迁移到用 ASP.NET CORE 编写的“多租户 SaaS 应用程序”。 SaaS 应用程序将由多个租户使用,租户看不到彼此的数据。在我们的遗留产品中,用户配置文件和凭据存储在每个客户的数据库中,客户可以 add/remove 系统中的用户,因为他们认为合适。
在 Web 环境中,通过将用户配置文件和凭据与应用程序数据本身分开,身份提供者似乎是建议的途径。但是,我们的大部分数据都与 UserId 相关联,因此了解哪个 USER 创建了记录很重要。
现在,在 Azure AD 中,设置会将所有客户的所有用户放入 1 个 Azure AD。我对此没有特别的问题,但我如何知道用户帐户属于哪个客户?
例如,客户 ACME 有 2 个用户:Bob 和 Bill。我的另一个客户 FOOBAR 有 2 个用户:Jean 和 Jack。如果 Jean 针对 Azure AD 进行身份验证,我需要知道 FOOBAR 的唯一 ID,以便我可以筛选 Web 应用程序中的数据。当 Azure AD 从 OpenId Connect 发回 IDToken 时,声明中的 TenantId 是我公司的 TenantId,而不是 CUSTOMER 的租户标识符。
如果我们要部署多租户 SaaS 应用程序并使用 Azure AD 进行身份验证并仍然控制哪些用户可以访问该应用程序,建议的设置是什么? Azure 活动目录 B2B?
您使用 security groups (one per customer) and Configure group claims 对用户进行分组,以便将他们放入令牌中。