首页 文章

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

提问于
浏览
0

我们有一个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);
  });
}

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

  • 用户按下登录按钮 . 将显示登录弹出窗口 .

  • 用户使用其AAD帐户登录 .

  • 应用程序尝试以静默方式为当前AAD用户获取令牌 . 此操作失败,将显示一个弹出窗口 .

  • 用户使用自定义OIDC帐户登录 .

在这种情况下,AAD用户登录(id_token),但access_token表示自定义OIDC用户 .

我试过了

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

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

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

1 回答

  • 0

    尝试传入参数“domain_hint”并将值设置为您在AAD技术配置文件中提供的值

相关问题