Autenticação da API de gestão de serviços Azure com a pasta activa Azure Oauth
I Configure uma aplicação dentro da minha pasta predefinida. Neste ensaio gratuito, é o único directório que tenho.
Quando viso o objectivo do token token endpoint, recebo um JWT.curl --data "grant_type=client_credentials&client_id=<my_client_id>&client_secret=<my_encoded_secret>&resource=https%3A%2F%2Fmanagement.core.windows.net" https://login.windows.net/<my_tenant_id>/oauth2/token
Mas quando uso esse símbolo para listar os meus detalhes de assinatura, recebo um erro:
curl -H "x-ms-version: 2014-06-01" \
-H "Authorization: Bearer <my_token>" \
https://management.core.windows.net/<my_subscription_id>/
<Error xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Code>ForbiddenError</Code>
<Message>The server failed to authenticate the request. Verify that the certificate is valid and is associated with this subscription.</Message>
</Error>
concedi permissões à API de gestão de serviços para a application as "Delegated permissions", because "Application permissions" are not available.
O que me está a escapar?1 answers
Isto não é possível devido às Permissões da aplicação : 0 configuração para a API de gestão de Serviços. O client_credentials grant type usa credenciais da aplicação (client_id e client_secret), e dado que a aplicação não tem permissões para esta API, a chamada falha.
Uma vez que a API de gestão de serviços não permite permissões de aplicações de qualquer tipo, temos de usar o tipo de subvenção do autorization_code ou algum outro método para obter um símbolo do utilizador.