В моем приложении Web API, зарегистрированном в Azure, я получаю токен для пользователей в 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, и теперь я получаю сообщение об ошибке
{"error": "invalid_grant", "error_description": "AADSTS50034: учетная запись пользователя Microsoft.AzureAD.Telemetry.Diagnostics.PII не существует в каталоге gmail.com. Чтобы войти в это приложение, необходимо добавить учетную запись в каталог. \ R \ nTrace ID: c0a3f945-d446-430c-8e4e-fd77c95a5500 \ r \ nКорреляционный идентификатор: 6cd071f3-b5b0-4ed2-98a2-292f45863e1a \ r \ nTimestamp: 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 с Azure Authetiacation, которое перенаправляет на страницу Microsoft, базовое приложение работает avan с guest.
Но в моем случае «тихой аутентификации» гостевые пользователи не работают