Получение токена Azure AD для гостя - PullRequest
0 голосов
/ 26 апреля 2019

В моем приложении 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.

Но в моем случае «тихой аутентификации» гостевые пользователи не работают

1 Ответ

1 голос
/ 26 апреля 2019

Вы не можете использовать поток ROPC (который вы использовали здесь) с гостями. Он не работает с федеративными учетными записями. Он также не работает для пользователей с MFA или паролем с истекшим сроком действия. Я обычно советую людям держаться подальше от этого потока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...