Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure ad b2c Azure B2C-PublicClientApplicationCion.AcquireTokenByUsernamePasswordAsync失败_Azure Ad B2c_Msal - Fatal编程技术网

Azure ad b2c Azure B2C-PublicClientApplicationCion.AcquireTokenByUsernamePasswordAsync失败

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@

我无法使用.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@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中发布。