MSAL - 使用 IntegratedWindowsAuth 获取令牌时出现问题

Saa*_*lam 5 azure azure-active-directory azure-ad-graph-api azure-ad-msal azure-authentication

我正在使用 MSAL 使用集成 Windows 身份验证从 Azure 中的身份验证应用程序获取令牌。代码是:

var tenant = $"https://login.microsoftonline.com/<myTenantId>";
var clientId = "<myClientId>";
var scopes =  new string[] { "https://graph.microsoft.com/.default" };

var publicApplication = PublicClientApplicationBuilder.Create(clientId).WithAuthority(tenant).Build();
var token = await publicApplication.AcquireTokenByIntegratedWindowsAuth(scopes).ExecuteAsync();
Run Code Online (Sandbox Code Playgroud)

这会引发以下异常:

Integrated Windows Auth is not supported for managed users.
Run Code Online (Sandbox Code Playgroud)
  • 我已验证运行应用程序的用户不是托管用户(用户是在本地 AD 中创建的,并通过 AD Connect 同步同步到 Azure AD)。
  • 我已在 Azure 租户中启用 SSO 并进行直通身份验证。
  • 管理员已同意身份验证申请。

我已按照https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki/Integrated-Windows-Authentication中的步骤进行操作,据我所知,我没有错过任何内容。

我的配置中是否遗漏了某些内容?对此的任何帮助都将受到高度赞赏。

Saa*_*lam 2

根据我与 Microsoft 的讨论,IWA 不支持直通身份验证(这就是我的案例中的情况)。为了使 IWA 发挥作用,我们需要在我们的环境中拥有 ADFS。