Извлечение токена доступа на основе пользователя с использованием типа предоставления в качестве пароля - PullRequest
1 голос
/ 08 ноября 2019

Я пытаюсь получить токен доступа, используя учетные данные пользователя.

Я использую метод AcquireTokenAsync для получения токена, в котором я использую конструктор с ресурсом, идентификатором клиента и учетными данными пользователя в качестве параметра.

public async Task<IHttpActionResult> GetToken()
    {
        AuthenticationResult authenticationResult = null;
        try
        {
            string authority = "https://login.microsoftonline.com/tenant";
            string resource ="2424-234-234234-234-23-32423";
            string username = "yxyzzz";
            string password = "password";
           string clientId="2424-234-234234-234-23-32423";
            var useridpassword = new UserPasswordCredential(username, password);
            AuthenticationContext context = new AuthenticationContext(authority);
            context.TokenCache.Clear();
            authenticationResult = await context.AcquireTokenAsync(resource, clientId, useridpassword);
            return authenticationResult.AccessToken;
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

Я ожидаю, что токен доступа будет возвращен, но яполучаю исключение при получении токена. Ниже приведено сообщение об ошибке, которое я получаю.

AdalException: {"error":"invalid_client","error_description":"AADSTS7000218: The request body must contain the following parameter: 'client_assertion' or 'client_secret'.\r\nTrace ID: 674f29fe-73c6-49a3-9c3f-24df4ea16000\r\nCorrelation ID: b14cb535-9df5-48fa-b911-7e8b927fceb7\r\nTimestamp: 2019-11-08 06:21:57Z","error_codes":[7000218],"timestamp":"2019-11-08 06:21:57Z","trace_id":"674f29fe-73c6-49a3-9c3f-24df4ea16000","correlation_id":"b14cb535-9df5-48fa-b911-7e8b927fceb7","error_uri":"https://login.microsoftonline.com/error?code=7000218"}: Unknown error

1 Ответ

0 голосов
/ 11 ноября 2019

Чтобы использовать учетные данные владельца ресурса, вам нужно рассматривать приложение как общедоступный клиент.

Перейти на портал Azure-> Регистрация приложений-> Найти приложение-> Проверить расширенные настройки

enter image description here

...