使用 Azure B2C 的联合身份管理

Federated Identity Management using Azure B2C

我设计了一个 SaaS 应用程序,可供拥有多个用户的小公司和使用他们自己的 SSO 的大公司使用。 小型公司需要能够登录、更改和重置密码,使用2FA。 大公司需要使用他们的 ADFSOkta 等进行身份验证。

如何在 Azure 中实现这样的场景?

选项 1

为每个大客户创建 Azure B2C 租户。配置与客户端身份提供者的联合。 F.e。他们将被重定向到 b2clogin 页面,然后到他们的 ADFS 登录页面。 为所有小客户创建一个租户。 请求 Azure 支持取消 20 B2C 个租户的限制。

选项 2

要求客户创建 Azure AD。请他们在那里注册我们的应用程序。

选项 3

在没有 Azure 的情况下使用 OpenID Connect 或其他协议直接连接客户的身份提供者。


用例 – SaaS 产品 Northwind 有许多大大小小的客户。大型客户端使用 SAML、Azure AD、Windows Active Directory。小客户没有自己的身份提供者,用户可以通过密码登录或使用 Facebook 或 Google 身份验证。

Contoso 用户 -> contoso.northwind.com -> 重定向到 sso.contoso.com -> 使用 SAML 响应

重定向到 contoso.northwind.com

Fabrikam 用户 -> fabrikam.northwind.com -> 重定向到 sso.fabrikam.com -> 使用 SAML 响应

重定向到 fabrikam.northwind.com

第四咖啡用户 -> fourthcoffee.northwind.com -> 输入email/password -> 内部认证

Fourth Coffee User -> fourthcoffee.northwind.com -> 单击 Facebook 按钮 -> 重定向至 facebook.com -> 重定向至 fourthcoffee.northwind.com 并具有访问权限代币

内部用户 -> portal.northwind.com -> 输入email/password -> 输入OTP令牌 -> 内部认证

没有理由不能让一个 B2C 拥有多个联盟,包括社交网络,例如脸书

小客户也可以使用。

您可以直接使用 Home Realm Discovery 处理联合。

如果您需要管理用户,例如许可证,在单独的数据库中执行此操作并通过 REST API.

访问