Authentication with Azure Management API

南笙酒味 提交于 2020-03-25 12:33:07

问题


We have been using Azure API for some time for various operations. For example this is one of the APIs we use https://docs.microsoft.com/en-us/rest/api/servicebus/namespaces/createorupdate and as mentioned in the docs the URL that we send request to is:

management.azure.com

Recently we have had the need to start performing against our Cloud Services via API. I noticed that the URL was different then what we have been using before --

management.core.windows.net

as mentioned here https://docs.microsoft.com/en-us/rest/api/compute/cloudservices/rest-list-cloud-services

Firstly, could someone explain me the differences between those two?

Secondly, how can I authenticate against the management.core.windows.net using tenant/client/secret keys?

Here is the following code I have been using to auth with the first URL.

var context = new AuthenticationContext($"https://login.microsoftonline.com/{Constants.AZURE_TENANT_ID}");
var result = context.AcquireTokenAsync(
                        "https://management.azure.com/",
                        new ClientCredential(Constants.AZURE_MANAGEMENT_API_CLIENT, Constants.AZURE_MANAGEMENT_API_SECRET)
                    ).GetAwaiter().GetResult();
return result.AccessToken;

I tried to simply replace the URL but that did not work. I got the following error:


回答1:


could someone explain me the differences between those two?

Azure Resource Manager provider APIs use https://management.azure.com/, and Azure classic deployment model uses https://management.core.windows.net/

how can I authenticate against the management.core.windows.net using tenant/client/secret keys?

You should be able to get the access token if the settings are correct, you can try again.



来源:https://stackoverflow.com/questions/57796861/authentication-with-azure-management-api

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!