Configurar o gerenciador de credenciais – API do GitHub
APLICA-SE A: todas as camadas do 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. O tipo de concessão do código de autorização é usado neste exemplo.
Você aprenderá como:
- 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
- Testar sua API do GitHub no Gerenciamento de API
Pré-requisitos
- Uma conta do GitHub é necessária.
- Uma instância do Gerenciamento de API em execução. Se você precisar, crie uma instância do Gerenciamento de API do Azure.
- Habilite uma identidade gerenciada atribuída pelo sistema para o Gerenciamento de API na instância do Gerenciamento de API.
Etapa 1: Registrar um aplicativo no GitHub
Crie um aplicativo OAuth do GitHub para a API e dê a ele as permissões apropriadas para as solicitações que você deseja chamar.
Entre no GitHub.
Em seu perfil de conta, acesse Configurações > Configurações do Desenvolvedor > Aplicativos OAuth. Selecione Novo aplicativo OAuth.
- Insira um Nome de aplicativo e uma URL de página inicial para o aplicativo. Para este exemplo, você pode fornecer uma URL de espaço reservado, como
http://localhost
. - Opcionalmente, adicione uma Descrição do aplicativo.
- Na URL de retorno de chamada de autorização (a URL de redirecionamento), insira
https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME>
, substituindo o nome da instância do Gerenciamento de API em que você configurará o provedor de credenciais.
- Insira um Nome de aplicativo e uma URL de página inicial para o aplicativo. Para este exemplo, você pode fornecer uma URL de espaço reservado, como
Selecione Registrar aplicativo.
Na página Geral, copie a ID do Cliente que você usará na etapa 2.
Selecione Gerar um novo segredo do cliente. Copie o segredo, que não será exibido novamente e que você usará na etapa 2.
Etapa 2: Configurar um provedor de credenciais no Gerenciamento de API
Entre no portal e vá para a instância do Gerenciamento de API.
No menu à esquerda, selecione Gerenciador de credenciais>+ Criar.
Na página Criar provedor de credenciais, insira as seguintes configurações:
Configurações Valor Nome do provedor de credenciais Um nome de sua escolha, como github-01 Provedor de identidade Selecione GitHub Tipo de concessão Selecionar Código de autorização ID do Cliente Colar o valor copiado anteriormente do registro do aplicativo Segredo do cliente Colar o valor copiado anteriormente do registro do aplicativo Escopo Para este exemplo, defina o escopo como Usuário Selecione Criar.
Quando solicitado, examine a URL de redirecionamento do OAuth exibida e selecione Sim para confirmar se ela corresponde à URL inserida no registro do aplicativo.
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, configura uma política de acesso que permite o acesso pela identidade gerenciada atribuída pelo sistema da instância. Esse acesso é suficiente para este exemplo. Você pode adicionar políticas de acesso adicionais conforme necessário.
- Insira um Nome de conexão e selecione Salvar.
- Em Etapa 2: Fazer logon na conexão (para o tipo de concessão de código de autorização), selecione o link para fazer logon no provedor de credenciais. Conclua as etapas para autorizar o acesso e retorne ao Gerenciamento de API.
- Em Etapa 3: Determinar quem terá acesso a essa conexão (política de acesso), o membro da identidade gerenciada está 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 você quiser criar outra conexão para o provedor de credenciais, conclua as etapas anteriores.
Dica
Use o portal para adicionar, atualizar ou excluir conexões a um provedor de credenciais a qualquer momento. Para obter mais informações, confira Configurar várias conexões.
Etapa 4: Criar uma API no Gerenciamento de API e configurar uma política
Entre no portal e vá para a instância do Gerenciamento de API.
No menu à esquerda, selecione APIs > + Adicionar API.
Selecione HTTP ou insira as configurações a seguir. Em seguida, selecione Criar.
Configuração Valor Nome de exibição githubuser URL do serviço da Web https://api.github.com
Sufixo da URL da API githubuser Navegue até a API recém-criada e selecione Adicionar Operação. Insira as configurações a seguir 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 configurações a seguir.
Configuração Valor Nome de exibição getauthfollowers URL para GET /user/followers Selecione Todas as operações. Na seção Processamento de entrada, selecione o ícone (</>) (editor de código).
Copie o seguinte e cole no editor de política. Verifique se os valores
provider-id
eauthorization-id
na políticaget-authorization-context
correspondem aos nomes do provedor de credenciais e da conexão, respectivamente, configurados nas etapas anteriores. Selecione Salvar.<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 anterior consiste em três partes:
- A política get-authorization-context busca um token de autorização referenciando o provedor de credenciais e a conexão que você criou anteriormente.
- A política set-header cria um cabeçalho HTTP com o token de autorização obtido.
- A segunda política set-header cria um
User-Agent
cabeçalho (requisito da API do GitHub).
Etapa 5: testar a API
Na guia Testar, 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 as políticas de autenticação e autorização
- Saiba mais sobre a API REST do GitHub