Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
APLICA-SE A: Todas as camadas de gerenciamento de API
Neste artigo, você aprenderá a criar uma conexão gerenciada no Gerenciamento de API e chamar uma API do GitHub que requer um token OAuth 2.0. Este exemplo utiliza o tipo de concessão de código de autorização.
Você aprende a:
- Registrar um aplicativo no GitHub
- Configurar um provedor de credenciais no Gerenciamento de API
- Configurar uma conexão
- Criar uma API no Gerenciamento de API e configurar uma política
- Teste sua API do GitHub no Gerenciamento de API
Pré-requisitos
- Uma conta GitHub.
- Uma instância de Gerenciamento de API em execução. Se precisares de uma, cria uma instância de Gestão de APIs do Azure.
- Habilite uma identidade gerenciada atribuída ao sistema para o Gerenciamento de API na instância de Gerenciamento de API.
Etapa 1: Registrar um aplicativo no GitHub
Crie um aplicativo GitHub OAuth para a API e dê a ele as permissões apropriadas para as solicitações que você deseja chamar.
Faça login no GitHub.
No perfil da sua conta, vá para Configurações > Configurações do desenvolvedor OAuth > Apps. Selecione Novo aplicativo OAuth.
- Insira um nome de aplicativo e URL da página inicial para o aplicativo. Neste exemplo, você pode fornecer uma URL de espaço reservado, como
http://localhost. - Opcionalmente, adicione uma descrição do aplicativo.
-
No URL de callback de autorização (o URL de redirecionamento), introduza
https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>, substituindo o nome da instância de Gestão da API onde configura o fornecedor de credenciais. - Opcionalmente, selecione Ativar fluxo de dispositivos (não é obrigatório neste exemplo).
- Insira um nome de aplicativo e URL da página inicial para o aplicativo. Neste exemplo, você pode fornecer uma URL de espaço reservado, como
Selecione Registrar aplicativo.
Na página Geral , copie o ID do Cliente, que usa no Passo 2.
Selecione Gerar um novo segredo do cliente. Copia o segredo, que não volta a ser mostrado. Configuras o segredo no Passo 2.
Etapa 2: Configurar um provedor de credenciais no Gerenciamento de API
Entre no portal do Azure e vá para sua instância de Gerenciamento de API.
No menu à esquerda, selecione APIs>Credential manager>+ Create.
No Criar fornecedor de credenciais, introduza as seguintes definições:
Configurações Valor Nome do provedor de credenciais Um nome de sua escolha, como github-01 Provedor de identidade Selecione GitHub Tipo de subvenção Selecione o código de autorização ID de Cliente Cole o valor copiado anteriormente do registro do aplicativo Segredo do cliente Cole o valor copiado anteriormente do registro do aplicativo Scope Para este exemplo, defina o escopo como Usuário Selecione Criar.
Quando solicitado, reveja o URL de redirecionamento OAuth que é mostrado e selecione Sim para confirmar se corresponde ao URL que introduziu no registo da aplicação GitHub.
Etapa 3: Configurar uma conexão
Na guia Conexão , conclua as etapas para sua conexão com o provedor.
Observação
Quando você configura uma conexão, o Gerenciamento de API por padrão define uma política de acesso que permite o acesso pela identidade gerenciada atribuída aos sistemas da instância. Este acesso é suficiente para este exemplo. Você pode adicionar políticas de acesso adicionais conforme necessário.
- Introduza um Nome de ligação e, em seguida, selecione Guardar.
- Em Etapa 2: Faça login na sua conexão (para o tipo de concessão de código de autorização), selecione o botão Login . Complete os passos com o seu fornecedor de identidade para autorizar o acesso e volte à Gestão de APIs.
- Em Etapa 3: Determinar quem terá acesso a essa conexão (política de acesso), o membro da identidade gerenciada será listado. Adicionar outros membros é opcional, dependendo do seu cenário.
- Selecione Concluir.
A nova conexão aparece na lista de conexões e mostra um status de Conectado. Se desejar criar outra conexão para o provedor de credenciais, conclua as etapas anteriores.
Sugestão
Use o portal do Azure para adicionar, atualizar ou excluir conexões com um provedor de credenciais a qualquer momento. Para obter mais informações, consulte Configurar várias conexões.
Etapa 4: Criar uma API no Gerenciamento de API e configurar uma política
Entre no portal do Azure e vá para sua instância de Gerenciamento de API.
No menu à esquerda, selecione APIs>APIs>+ Add API.
Selecione HTTP e insira as seguintes configurações e, em seguida, selecione Criar.
Configuração Valor Nome de exibição githubuser URL do serviço Web https://api.github.comSufixo de URL da API githubuser Vai à nova API e seleciona Adicionar Operação. Insira as seguintes configurações e selecione Salvar.
Configuração Valor Nome de exibição getauthdata URL para GET /user
Siga as etapas anteriores para adicionar outra operação com as seguintes configurações.
Configuração Valor Nome de exibição getauthfollowers URL para GET /usuário/seguidores Selecione Todas as operações. Na seção Processamento de entrada , selecione o ícone (</>) (editor de código).
Copie e cole o código seguinte no editor de políticas. Verifique se os
provider-idvalores eauthorization-idnaget-authorization-contextpolítica correspondem aos nomes do provedor de credenciais e da conexão, respectivamente, que você configurou nas etapas anteriores. Selecione Guardar.<policies> <inbound> <base /> <get-authorization-context provider-id="github-01" authorization-id="first-connection" context-variable-name="auth-context" identity-type="managed" ignore-error="false" /> <set-header name="Authorization" exists-action="override"> <value>@("Bearer " + ((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</value> </set-header> <set-header name="User-Agent" exists-action="override"> <value>API Management</value> </set-header> </inbound> <backend> <base /> </backend> <outbound> <base /> </outbound> <on-error> <base /> </on-error> </policies>
A definição de política precedente consiste em três partes:
- A política get-authorization-context busca um token de autorização fazendo referência ao provedor de credenciais e à conexão que você criou anteriormente.
- A primeira política set-header cria um cabeçalho HTTP com o token de autorização buscado.
- A segunda política set-header cria um
User-Agentcabeçalho (requisito da API do GitHub).
Etapa 5: Testar a API
Na guia Teste , selecione uma operação que você configurou.
Selecione Enviar.
Uma resposta bem-sucedida retorna dados do usuário da API do GitHub.
Conteúdo relacionado
- Saiba mais sobre políticas de autenticação e autorização
- Saiba mais sobre a API REST do GitHub