Авторизация: выпуск на предъявителя + токен - PullRequest
0 голосов
/ 27 декабря 2018

Я работаю над Azure API.

Мне нужно получить список всех виртуальных машин, и мне нужно выполнить действие, такое как START STOP RESTART.

Когда я пытаюсь получить список всех подписок по этой ссылке, все работает нормально: https://docs.microsoft.com/en-us/rest/api/resources/subscriptions/list

Но из моего API я получил нулевой результат.

Я определил проблему, и проблема Авторизация: проблема с предъявителем + токеном

Когда яПередача статической авторизации: токен на предъявителя.Он отлично работает в моем API, но когда я получаю токен авторизации от CURL, он возвращает нулевые данные.

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

$strAppTenantDomainName="exmple.com"; // This is tenant domain name
$arrCurlOptions[CURLOPT_POSTFIELDS] = ['client_id'=> 'xxxxxx','client_secret'=> 'xxxxxx','resource'=> "https://management.azure.com/",'grant_type'=> 'client_credentials'];

$arrAccessTokenDetails = cUrl_process("https://login.microsoftonline.com/$strAppTenantDomainName/oauth2/token",$arrCurlOptions);

Пожалуйста, помогите мне с этим.

Спасибо.

1 Ответ

0 голосов
/ 28 декабря 2018

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

enter image description here

Чтобы устранить проблему, перейдите к своей подписке на портале -> Access control (IAM) -> Add role assignment -> добавьте свое приложение AD какowner роль (например).

Тогда все будет работать нормально.

enter image description here Подробнее см. по этой ссылке .

...