从 Azure AD 到 Azure B2C 的模拟

dot*_*dev 6 asp.net-mvc single-sign-on oauth-2.0 azure-active-directory azure-ad-b2c

我们正在开发一个需要两种不同类型用户的 Web 应用程序:

  • 管理员(映射到 Azure AD、SSO);
  • 客户(映射到 Azure AD B2C);

客户使用其 Azure AD B2C 帐户登录 Web 应用程序。管理员使用其 Azure AD 帐户登录网站的管理 UI 区域。这部分很好。

然而,要求之一是管理员能够冒充客户,以便他们可以代表客户执行某些任务,例如下订单。

我们将使用 OAuth(.NET 包)进行授权。我的问题实际上有两个:

1)OAuth是否支持冒充其他账户?

2) 如果是,Azure AD 中的帐户是否有可能模拟 Azure AD B2C 中的用户 - 目前它们是不同的目录,彼此不可见。

也许我的问题有点模糊,我们正在寻找正确方向的一些指示。

提前谢谢了

点开发

Jas*_*SFT 6

您可以构建一个流程,通过联合 IdP (AAD) 对管理员进行身份验证,然后向他们提供一个 B2C 页面,允许他们模拟 B2C 用户:https ://github.com/azure-ad-b2c/samples/tree/主控/策略/模仿。该策略应进行一些检查,以确保 AAD 用户属于某个可以模拟的组,然后在 B2C 中向他们显示一个屏幕,以提供最终用户的电子邮件。然后,B2C 将通过在 B2C 用户上下文中铸造令牌来完成身份验证。


juu*_*nas -2

Azure AD(常规/B2C)不允许您模拟其他用户。您无法真正以用户身份登录。

您很可能必须将此功能构建到您的应用程序中,其中允许管理员选择他们代表其下订单的客户。