Exercício – Chamar uma API com uma chave de assinatura
Uma chave de assinatura é uma maneira de restringir o acesso a uma API.
No exemplo da empresa de calçados, a NorthWind Shoes está trabalhando com um fornecedor e deseja que ele tenha acesso direto à API de inventário. O acesso do parceiro deve ser restrito usando uma chave de assinatura para todas as chamadas à API.
Aqui, você obterá uma chave de assinatura para a API. Em seguida, você vai testar o acesso à API com e sem a chave de assinatura.
Obter chave de assinatura
Os parceiros recebem suas chaves como parte de um processo de integração. Neste exercício, você vai adicionar uma assinatura especificamente para a API da NorthWindShoes. Depois que você tiver uma chave, siga um processo padrão para usar a chave em chamadas à API.
No menu do portal do Azure ou na página Inicial, selecione Todos os recursos e selecione sua instância de Gerenciamento de API.
No painel do menu à esquerda, em APIs, selecione Assinaturas.
Selecione + Assinatura e insira os valores a seguir para cada configuração. Em seguida, selecione Criar.
Configuração Valor Nome NorthWind
Nome de exibição NorthWind subscription
Escopo Selecione API e selecione Produtos NorthWindShoes na lista suspensa. Selecione o menu de contexto (...) da Assinatura Northwind e selecione Mostrar/ocultar chaves.
Selecione o botão Clique para copiar da CHAVE PRIMÁRIA.
Salve essa chave em algum lugar, como o Bloco de notas.
Usar a chave de assinatura na chamada à API
A próxima etapa é usar a chave de assinatura para testar o acesso de desenvolvedor à sua API publicada.
Execute o seguinte comando no Cloud Shell para acessar a operação Produtos em sua API, substituindo
<apim gateway>
pelo nome do gateway.curl https://<apim gateway>.azure-api.net/api/Products
Você recebe a mensagem 401: acesso negado devido à ausência da chave de assinatura.
Agora, repita a solicitação do cURL, desta vez, incluindo a chave de assinatura.
Execute o seguinte comando no Cloud Shell, substituindo
<primary key>
pela chave salva anteriormente e substituindo<apim gateway>
pelo nome do gateway.curl --header "Ocp-Apim-Subscription-Key: <primary key>" https://<apim gateway>.azure-api.net/api/Products
Agora, você deve ser capaz de acessar a API e ver uma lista de produtos retornados para o console.