【发布时间】:2021-07-29 23:01:22
【问题描述】:
AcquireTokenByUsernamePassword 抛出 System.AggregateException 和 MsalServiceException:
第一个例外:
System.AggregateException: '发生一个或多个错误。 (联邦 服务于 https://autologon.microsoftazuread-sso.com/domain.com/winauth/trust/2005/usernamemixed?client-request-id=[ID] 返回错误:身份验证失败)'
第二个例外:
MsalServiceException:联合服务位于 https://autologon.microsoftazuread-sso.com/domain.com/winauth/trust/2005/usernamemixed?client-request-id=[ID] 返回错误:身份验证失败
string clientId = "client-id";
string tenant = "tenant-id";
// Open connection
string authority = "https://login.microsoftonline.com/" + tenant;
string[] scopes = new string[] { "user.read" };
IPublicClientApplication app;
app = PublicClientApplicationBuilder.Create(clientId)
.WithAuthority(authority)
.Build();
var securePassword = new SecureString();
foreach (char c in user.Password.ToCharArray()) // you should fetch the password
securePassword.AppendChar(c); // keystroke by keystroke
var results = app.AcquireTokenByUsernamePassword(scopes, user.UserName, securePassword).ExecuteAsync().Result.IdToken;
【问题讨论】:
-
您检查过您的密码吗?对吗?
-
您能否检查一下您是否启用了“允许公共客户端流”?
-
@JimXu 允许公共客户端流已启用
-
@Tassisto 您是否为您的用户帐户启用了 mfa?
-
@JimXu 我在哪里可以启用此功能?
标签: .net-core azure-active-directory jwt token bearer-token