C# 具有指定电子邮件地址的Azure Active Directory B2C登录用户

C# 具有指定电子邮件地址的Azure Active Directory B2C登录用户,c#,uwp,openid,azure-ad-b2c,msal,C#,Uwp,Openid,Azure Ad B2c,Msal,我使用以下代码首次使用AAD B2C使用Microsoft IDP登录用户 var localAccounts = (List<IAccount>) await AADB2C.PublicClientApp.GetAccountsAsync(); var authResult = await AADB2C.PublicClientApp.AcquireTokenInteractive(AADB2C.ApiScopes) //.WithAccount(GetAccountBy

我使用以下代码首次使用AAD B2C使用Microsoft IDP登录用户

var localAccounts = (List<IAccount>) await AADB2C.PublicClientApp.GetAccountsAsync();

var authResult = await AADB2C.PublicClientApp.AcquireTokenInteractive(AADB2C.ApiScopes)
    //.WithAccount(GetAccountByPolicy(localAccounts, AADB2C.PolicySignUpSignIn))
    //.WithPrompt(Prompt.SelectAccount)
    .WithLoginHint(WindowsUser.Email)
    //.WithExtraQueryParameters("login_hint=" + WindowsUser.Email)
    .ExecuteAsync();
var localAccounts=(List)等待AADB2C.PublicClientApp.GetAccountsAsync();
var authResult=await AADB2C.PublicClientApp.AcquireTokenInteractive(AADB2C.ApiScopes)
//.WithAccount(GetAccountByPolicy(localAccounts,AADB2C.PolicySignUpSignIn))
//.WithPrompt(Prompt.SelectAccount)
.WithLoginHint(WindowsUser.Email)
//.WithExtraQueryParameters(“login_hint=“+WindowsUser.Email”)
.ExecuteAsync();
我尽量做到指定登录邮箱地址,所以用户登录时至少应该填写邮箱地址。(或者将其设置为只读会更好)。为此,我使用.WithLoginHint扩展名,但它不起作用


您有什么建议可以解决吗?

AAD B2C将根据您的代码在授权请求中发送
登录提示
参数。使用Chrome浏览器中的网络跟踪进行确认。由于只配置了一个IDP,AAD B2C将用户重定向到Microsoft帐户登录

AAD B2C在使用内置用户流时不会将
login\u hint
参数传递给联合IdP,因此您观察到它“不工作”

如果您使用自定义策略建立此帐户,遵循并将以下内容添加到您的MS帐户OIDC
ClaimsProvider
,B2C将使用


您还需要定义
提示符
,如下所示:


oidc提示参数
一串

谢谢,让我检查一下。