Я хочу создать функцию, которая будет очищать файл в Azure CDN. Здесь в документации В нем говорится, как можно удалить содержимое, указав путь.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge?api-version=2017-10-12
Но безопасность обеспечивается потоком Azure Active Directory OAuth2.Поэтому мне нужно использовать clientId, secretId (отсюда https://blogs.msdn.microsoft.com/maheshk/2017/04/01/azure-cdn-how-to-purge-cdn-content-from-c-code/)
clientId
secretId
var authenticationContext = new AuthenticationContext("https://login.microsoftonline.com/microsoft.onmicrosoft.com"); ClientCredential clientCredential = new ClientCredential(clientId, clientSecret); Task<AuthenticationResult> resultstr = authenticationContext.AcquireTokenAsync("https://management.core.windows.net/", clientCredential); WebClient client = new WebClient(); //authentication using the Azure AD application var token = resultstr.Result.AccessToken;
Я бродю. Есть ли способ сделать запрос на очистку, используя ключ хранения, а не clientId, secretId?
Нет, это невозможно. API Azure Rest Endpoints - Purge Content интегрирован с аутентификацией Azure AD, для получения токена доступа требуются действительные учетные данные.
Endpoints - Purge Content
См. Ссылку: Начало работы с REST. Зарегистрируйте клиентское приложение в Azure AD .
Большинство служб Azure (например, поставщики Azure Resource Manager и классическая модель развертывания) требуют, чтобы ваш клиентский код прошел проверку подлинности с действительными учетными данными, прежде чем вы сможете вызывать API службы. Azure AD координирует проверку подлинности между различными участниками и предоставляет вашему клиенту маркер доступа в качестве доказательства проверки подлинности. Затем токен отправляется службе Azure в заголовке HTTP-авторизации последующих запросов REST API. утверждения токена также предоставляют информацию службе, позволяя ей проверить клиента и выполнить любую необходимую авторизацию.