Você está lendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. info
Refatorado e redirecionado para Proteger uma API exigindo chaves de API.
Um desenvolvedor cria um app que faz solicitações às suas APIs para acessar os serviços de back-end. Para controlar o acesso às APIs, é possível exigir que o desenvolvedor transmita uma chave de API em cada solicitação. Se a chave estiver ausente ou inválida, a solicitação falhará.
A publicação é o processo de disponibilização das APIs para os desenvolvedores de apps para consumo. A publicação de APIs pode ser amplamente definida pelas seguintes tarefas:
- Crie os produtos de API no Apigee Edge que agrupam suas APIs.
- Registre desenvolvedores de apps no Edge. Somente um desenvolvedor de apps registrado pode registrar um app.
- Os desenvolvedores registram apps no Edge para acessar produtos de API. Em resposta, o desenvolvedor recebe uma chave de API. Agora que o desenvolvedor tem uma chave de API, ele pode fazer solicitações às suas APIs.
Para mais informações, consulte Introdução à publicação.
A tabela a seguir define alguns dos termos usados para registrar apps e gerar chaves:
| Termo | Definição |
|---|---|
| Produto de API | Um pacote de proxies de API combinados com um plano de serviço que define limites de acesso a essas APIs. Os produtos de API são o mecanismo central que o Apigee Edge usa para autorização e controle de acesso às suas APIs. |
| Desenvolvedor | O consumidor da API. Os desenvolvedores escrevem apps que fazem solicitações às suas APIs. |
| App | Um app do lado do cliente que um desenvolvedor registra para acessar um produto de API. O registro do app com o produto de API gera a chave de API para acessar as APIs nesse produto. |
| Chave de API | Uma string com informações de autorização que um app do lado do cliente usa para acessar os recursos expostos pelo produto de API. A chave de API é gerada quando um app registrado é associado a um produto de API. |
Pré-requisitos para este tutorial
Este tutorial pressupõe que você concluiu o primeiro tutorial, em que cria um proxy de API para acessar a API do clima do Yahoo. Se você ainda não concluiu o primeiro tutorial, consulte Proteger uma API exigindo chaves de API.
Etapa 1: criar um produto de API
- Na interface de gerenciamento, clique na guia Publicar e em Produtos.
- Clique em (+) Produto.
- Insira ou selecione o seguinte nos campos da caixa de diálogo "Adicionar produto":
Campo Valor Nome Produto de API sem custo financeiro Nome de exibição Produto de API sem custo financeiro Descrição Produto de API sem custo financeiro Ambiente teste Acesso Somente uso interno Tipo de aprovação de chave Automático
(a chave de API é aprovada automaticamente após a geração)Quota 10 solicitações por 1 hora
(limita o número de solicitações a 10 por hora)Escopos do OAuth permitidos deixe em branco A caixa de diálogo preenchida deve ser assim:

- Na seção "Recursos", escolha:
- Proxy de API: weatherapikey
- Revisão: 1
- Caminho do recurso: /forecastrss**
O caminho do recurso especifica os URIs de recurso que o produto permite que um app acesse. Neste exemplo, um app só pode acessar o /forecastrss recurso no weatherapikey proxy por meio desse produto de API. É proibido tentar usar esse produto de API para acessar qualquer outro recurso no proxy weatherapiproxy ou em qualquer outro proxy.
Caracteres curinga são permitidos para o caminho do recurso. O caractere curinga "/**" indica que todos os subURIs estão incluídos, o que significa um recurso no formato /forecastrss/foo/bar. O caractere curinga "/" indica que apenas URIs de um nível abaixo estão incluídos. Consulte Criar produtos de API produtos para saber mais.
Observe que a lista suspensa Caminho do recurso mostra todos os fluxos condicionais definidos no proxy de API especificado. O fluxo condicional de um proxy de API define a lógica ou as etapas de processamento associadas a um caminho de recurso. Um produto de API controla o acesso a esses caminhos de recurso.

- Clique em Importar recurso. O caminho do recurso é adicionado, e o weatherapikey proxy de API é adicionado automaticamente à seção Proxies de API para produto.
- Clique em Salvar. Seu novo produto será listado na página "Produtos".
Saiba mais:
Etapa 2: registrar um desenvolvedor
Para gerar uma chave de API, registre um app e associe-o a um produto de API. No entanto, você não pode registrar um app sem primeiro registrar o desenvolvedor dele.
- Na interface de gerenciamento, clique na guia Publicar e em Desenvolvedores.
- Clique em (+) Desenvolvedor.
- Na caixa de diálogo "Novo desenvolvedor", insira os seguintes valores:
- Nome: Jane
- Sobrenome: Tutorial
- Endereço de e-mail: janetutorial@example.com
- Nome de usuário: jtutorial
- Clique em Salvar. O novo desenvolvedor aparece na lista de desenvolvedores na página "Desenvolvedores".
Saiba mais:
Etapa 3: registrar o app
Agora que você tem um produto de API e um desenvolvedor, é possível registrar um app com o produto de API. O registro do app gera a chave de API para os produtos de API associados ao app. Em seguida, você pode distribuir a chave para desenvolvedores de apps para que eles possam acessar os recursos nos produtos de API do app.
- Na interface da plataforma de API, clique na guia Publicar e em Desenvolvedor Apps.
- Clique em (+) App de desenvolvedor.
- Na caixa de diálogo "Adicionar um app", insira os seguintes valores:
- Nome de exibição: App de API Weather
- Desenvolvedor: Jane Tutorial (janetutorial@example.com)
- Callback URL: deixe em branco
- Associe o app a um produto:
- Na seção Produtos, clique em + Produto.
- Selecione Produto de API sem custo financeiro.
- Clique no ícone de marca de seleção para aceitar as alterações.
- Clique em Salvar. O novo app aparece na lista de apps na página "Apps de desenvolvedores" .
- Selecione App de API Weather na lista de apps. Isso abre a página de detalhes do app.
- Como você selecionou Tipo de aprovação de chave: automático ao criar o produto de API a chave de API é aprovada automaticamente e você pode visualizá-la imediatamente. Se você tivesse selecionado Tipo de aprovação: manual, seria necessário clicar em Aprovar na coluna "Ações" do produto de API sem custo financeiro para aprovar a chave de API.
- Na seção "Produtos", ao lado da entrada do produto de API sem custo financeiro, clique
Mostrar nas colunas Chave do consumidor e Chave secreta do consumidor
para mostrar as chaves geradas.
A chave do consumidor é outro nome para a chave de API e é a única chave que um app precisa para acessar o recurso de previsão pelo proxy de API . A chave secreta do consumidor é necessária (junto com a chave do consumidor) para proteger uma API usando o OAuth 2.0. Consulte, por exemplo, OAuth 2.0: como configurar um novo proxy de API.
Saiba mais:
Etapa 4: usar a chave de API em uma solicitação
Para garantir que a política VerifyAPIKey esteja funcionando corretamente, é necessário testá-la fazendo uma chamada para o proxy de API com uma chave de API válida. É possível solicitar o proxy de API em um navegador, na página "Trace" do proxy de API, no console da Apigee ou usando o cURL. O URL a ser solicitado está no formato:
http://{org-name}-test.apigee.net/v1/weatherapikey/forecastrss?w=12797282&apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVlsSubstitua o nome da sua organização da Apigee por {org-name} e o valor correto da chave de API.
Procure o seguinte conteúdo na resposta:
<rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0"> <channel> <title>Yahoo! Weather - Palo Alto, CA</title> <link>http://us.rd.yahoo.com/dailynews/rss/weather/Palo_Alto__CA/*http://weather.yahoo.com/forecast/USCA1093_f.html</link> <description>Yahoo! Weather for Palo Alto, CA</description> <language>en-us</language>
Se você omitir a chave de API da solicitação ou especificar um valor de chave inválido, vai receber uma resposta de erro no formato:
{"fault":{"faultstring":"Failed to resolve API Key variable null","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}
Etapa 5: qual é o próximo destino?
Agora que você fez uma solicitação à API usando um parâmetro de consulta para transmitir a chave de API, modifique a API para transmitir a chave como um cabeçalho.
Continue para Proteger uma API exigindo chaves de API.