Похоже, я получаю неверный токен на предъявителя от Azure Ad, API APM не авторизован - PullRequest
0 голосов
/ 25 февраля 2019
var authContext = new AuthenticationContext(Constants.AUTHORITY);
            var credential =
                new ClientCredential(Constants.CLIENT_ID, Constants.CLIENT_SECRET);
            var result = (AuthenticationResult)authContext
                .AcquireTokenAsync(Constants.API_ID_URL, credential)
                .Result;
            var token = result.AccessToken;

            return token;

Используя приведенный выше код для получения токена на предъявителя, я получаю неверный / неполный токен на предъявителя.Затем добавьте в заголовок клиента.

 client.DefaultRequestHeaders.Authorization = new
 AuthenticationHeaderValue("Bearer", token); 
 HttpResponseMessage res = client.GetAsync(urlParameters).Result;  
 response is unauthorized.

1 Ответ

0 голосов
/ 25 февраля 2019

Токен правильный.Ваш код тоже выглядит хорошо.На ум приходят две возможные причины:

  • Дважды проверьте, что используемая вами личность действительно имеет доступ к службе, к которой вы пытаетесь обратиться.
  • Убедитесь, что вы вызываете API.правильно.Услуги / конечные точки имеют разные требования.Вы можете получить что-то подобное, если ваш вызов неправильный, скажем, вы не предоставили версию API, когда она требуется.

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

...