B2C中的提供者/家庭领域发现

时间:2017-08-23 19:08:52

标签: azure-ad-b2c msal

我们有一个Azure AD B2C实例,配置了2个提供程序:

  • AAD
  • 自定义OIDC

我正在使用此示例SPA:https://github.com/Azure-Samples/active-directory-b2c-javascript-msal-singlepageapp

该示例具有以下登录程序:

function login() {
  clientApplication.loginPopup(applicationConfig.b2cScopes).then(function (idToken) {
    clientApplication.acquireTokenSilent(applicationConfig.b2cScopes).then(function (accessToken) {
      updateUI();
    }, function (error) {
      clientApplication.acquireTokenPopup(applicationConfig.b2cScopes).then(function (accessToken) {
        updateUI();
      }, function (error) {
        logMessage("Error acquiring the popup:\n" + error);
      });
    })
  }, function (error) {
    logMessage("Error during login:\n" + error);
  });
}

这是应用程序中可能发生的事情:

  1. 用户按下登录按钮。将显示登录弹出窗口。
  2. 用户使用其AAD帐户登录。
  3. 应用程序尝试为当前AAD静默获取令牌 用户。此操作失败,将显示一个弹出窗口。
  4. 用户使用自定义OIDC帐户登录。
  5. 在这种情况下,AAD用户已登录(id_token),但access_token表示自定义OIDC用户。

    我试过了

    clientApplication.acquireTokenPopup(
      applicationConfig.b2cScopes,
      applicationConfig.authority,
      clientApplication.getUser(),
      { 'prompt': 'none' }
    ).then(...);
    

    但没有奏效。它显示了可供选择的提供者列表。

    如何在没有主域发现/提供商发现的情况下实现acquireTokenPopup将我重定向到AAD?

1 个答案:

答案 0 :(得分:0)

尝试传入参数" domain_hint"并将值设置为您在AAD技术配置文件中为

提供的值