Azure ad b2c Azure B2C-PublicClientApplicationCion.AcquireTokenByUsernamePasswordAsync失败
我无法使用.net core控制台应用程序的用户名和密码登录到我的Azure B2C Active Directory。我正在使用nuget的MSAL库2.6。 我在GitHub上找到了这个例子 我将代码缩减到最低限度,如下所示:Azure ad b2c Azure B2C-PublicClientApplicationCion.AcquireTokenByUsernamePasswordAsync失败,azure-ad-b2c,msal,Azure Ad B2c,Msal,我无法使用.net core控制台应用程序的用户名和密码登录到我的Azure B2C Active Directory。我正在使用nuget的MSAL库2.6。 我在GitHub上找到了这个例子 我将代码缩减到最低限度,如下所示: public static async Task TestLogin() { try { var scopes = new[] { "community.member" }; var username = "{user@
public static async Task TestLogin()
{
try
{
var scopes = new[] { "community.member" };
var username = "{user@domain.com}";
var password = new SecureString();
foreach (var c in "{Password}")
{
password.AppendChar(c);
}
var app = new PublicClientApplication("{B2C Application ID}", "https://{Application Name}.b2clogin.com/tfp/xxxxxxx-xxxx-xxxxxxxxxxxx/B2C_1_NativeSigneIn");
var result = await app.AcquireTokenByUsernamePasswordAsync(scopes, username, password);
Console.WriteLine($"Token: {result.AccessToken}");
}
catch (MsalServiceException ex)
{
Console.WriteLine($"{ex.Message} - {ex.ErrorCode}");
}
}
我总是收到以下MSAL异常:
消息:用户领域发现失败
错误代码:用户\u领域\u发现\u失败我尝试了B2C策略,ropc流无法支持其他策略,您只能使用ropc策略
有关详细信息,您可以阅读。旧库中有一个bug。MSAL的新版本有修复程序。您可以在此处阅读有关此问题和解决方案的信息:
基本上,您需要下载其中一位开发人员从GITHUB源代码编译的包的本地版本,通过将NuGet package Manager指向下载的包来引用您的解决方案中的包,然后您需要重新编写用于MSAL的新Fluent API的API,这样就可以了!就这么简单 找到答案了吗?没有,但我们不再尝试。该修复程序已在Msal 3.0.4-preview中发布。