MSAL API 能否仅与 B2C 一起使用 - 或者也可以与 B2B 应用程序一起使用?

Can the MSAL API be used with B2C only - or B2B application too?

我们正在考虑将 Azure AD B2B 或 B2C 用于 SSO 服务。我们不会使用 Azure B2B 内置 SSO 登录页面或基于 B2C 自定义策略的登录页面。我们有自己的自定义登录 JSP 页面,我们计划使用 MSAL 图形 API 来调用 Azure AD 身份验证服务。

问题:

  1. 此 MSAL API 仅适用于 B2C,还是我们也可以将其用于 B2B 租户应用程序?我可以作为示例的所有文档和指南仅使用 B2C 租户应用程序。

  2. 如果我为我的自定义登录页面使用 MSAL OAuth 2.0 身份验证服务,我假设我们不需要依赖 SAML SSO 配置。或者是否可以混合使用这些服务(即用于基本登录身份验证的 SAML,用于自助服务帐户注册的 MSAL OAuth2.0 调用)?

如果有人能对此有所了解,我将不胜感激。

谢谢。

B2B 和 B2C 有两个不同的目的。 B2B 旨在让您使用他们自己的凭据邀请外部联合用户访问您的目录,从而您可以为他们分配直接访问您的资源的权限。另一方面,B2C 是一个单独的目录,您允许用户在其中注册,也可以选择使用他们自己来自联合提供商的凭据。如果您的目标是 SSO 到受本地 AzureAD 保护的资源,那么显然您将不得不告诉该资源也将 B2C 目录用作 IdP。因此,B2B 对于 SSO 来说要简单得多,但一个很大的区别是规模。如果您计划邀请大量用户,那么这对用户 B2B 来说不是一个好主意。

MSAL 使用 OAuth 2.0 和 OIDC 等标准协议直接向任何受支持的 IdP(包括 Azure AD 或 Azure AD B2C)进行身份验证。是否成为访客用户与该过程无关。同样重要的是要提到 B2C 确实需要用户流或自定义策略才能运行。

所以尽我所能回答你的问题:

1- MSAL 库对于 Azure AD 和 Azure AD B2C 的工作方式相似。在 B2C 的情况下,可能存在一些配置差异,以提供有关策略名称等的附加信息。但它们的工作原理都是一样的。

2- MSAL 本身不支持 SAML 身份验证。为此,您需要一个可以执行 SAML 身份验证的库。虽然 Azure AD 本机支持 SAML,但 Azure AD B2C 需要您设置自定义策略来配置 SAML 身份验证。