在我在Azure上注册的Web API应用程序中,我通过以下方式为Active Directory中的用户获取令牌:
var result = await client.PostAsync(oauthEndpoint, new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("client_id", _azureOptions.ClientId),
new KeyValuePair<string, string>("grant_type", "password"),
new KeyValuePair<string, string>("username", userName),
new KeyValuePair<string, string>("password", password),
new KeyValuePair<string, string>("client_secret", _azureOptions.ClientSecret),
new KeyValuePair<string, string>("client_info", "1"),
new KeyValuePair<string, string>("scope",
"openid offline_access profile api://xxxxxxx-xxxxxxxxx-xxxxxxxxxxx/access_as_user"),
})).ConfigureAwait(false);
...
我工作得很好。 我添加了一个gmail.com来宾帐户,现在出现错误
{“错误”:“ invalid_grant”,“错误描述”:“ AADSTS50034:用户 Microsoft.AzureAD.Telemetry.Diagnostics.PII帐户不存在 gmail.com目录。要登录此应用,该帐户 必须添加到目录中。\ r \ n跟踪ID: c0a3f945-d446-430c-8e4e-fd77c95a5500 \ r \ n相关ID: 6cd071f3-b5b0-4ed2-98a2-292f45863e1a \ r \ n时间戳:2019-04-26 12:31:28Z“,” error_codes“:[50034],” timestamp“:” 2019-04-26 12:31:28Z“,” trace_id“:” c0a3f945-d446-430c-8e4e-fd77c95a5500“,” correlation_id“:” 6cd071f3-b5b0-4ed2-98a2-292f45863e1a“}
我该如何解决?如果我创建具有天蓝色身份验证的基本ASP.NET MVC Core应用程序,并将其重定向到microsoft页面,则该基本应用程序可与guest虚拟机一起使用。
但是在我的“静默身份验证”情况下,来宾用户无法正常工作
答案 0 :(得分:1)
您不能对来宾使用ROPC流程(在此使用)。 它不适用于联合帐户。 使用MFA或密码过期的用户都无法使用。 我通常建议人们远离这种潮流。