Partilhar via


Configurar o gerenciador de credenciais - API do GitHub

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

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.

  1. Faça login no GitHub.

  2. No perfil da sua conta, vá para Configurações > Configurações do desenvolvedor OAuth > Apps. Selecione Novo aplicativo OAuth.

    Captura de tela do registro de um novo aplicativo OAuth no GitHub.

    1. 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.
    2. Opcionalmente, adicione uma descrição do aplicativo.
    3. 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.
    4. Opcionalmente, selecione Ativar fluxo de dispositivos (não é obrigatório neste exemplo).
  3. Selecione Registrar aplicativo.

  4. Na página Geral , copie o ID do Cliente, que usa no Passo 2.

  5. Selecione Gerar um novo segredo do cliente. Copia o segredo, que não volta a ser mostrado. Configuras o segredo no Passo 2.

    Captura de tela mostrando como obter ID do cliente e segredo do cliente para o aplicativo no GitHub.

Etapa 2: Configurar um provedor de credenciais no Gerenciamento de API

  1. Entre no portal do Azure e vá para sua instância de Gerenciamento de API.

  2. No menu à esquerda, selecione APIs>Credential manager>+ Create.

    Captura de ecrã a mostrar a criação de uma credencial de Gestão de API no portal do Azure.

  3. 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
  4. Selecione Criar.

  5. 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.

  1. Introduza um Nome de ligação e, em seguida, selecione Guardar.
  2. 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.
  3. 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.
  4. 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

  1. Entre no portal do Azure e vá para sua instância de Gerenciamento de API.

  2. No menu à esquerda, selecione APIs>APIs>+ Add API.

  3. 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.com
    Sufixo de URL da API githubuser
  4. 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

    Captura de tela da adição de uma operação getauthdata à API no portal.

  5. 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
  6. Selecione Todas as operações. Na seção Processamento de entrada , selecione o ícone (</>) (editor de código).

  7. Copie e cole o código seguinte no editor de políticas. Verifique se os provider-id valores e authorization-id na get-authorization-context polí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-Agent cabeçalho (requisito da API do GitHub).

Etapa 5: Testar a API

  1. Na guia Teste , selecione uma operação que você configurou.

  2. Selecione Enviar.

    Captura de tela do teste da API com êxito no portal.

    Uma resposta bem-sucedida retorna dados do usuário da API do GitHub.