O Alibaba Cloud API Gateway oferece diversos métodos de autenticação para requisições de clientes, incluindo autenticação por App da Alibaba Cloud, plug-ins JWT e autorização de terceiros. Para a autenticação por App da Alibaba Cloud, escolha entre dois métodos: autenticação por assinatura e autenticação simples (AppCode). Este tópico descreve como usar a autenticação simples (AppCode).
Precauções
A autenticação simples elimina a necessidade de processos complexos de assinatura. No entanto, ela transmite o AppCode em texto simples pela rede, o que gera um risco de segurança.
Use HTTPS na comunicação entre o cliente e o API Gateway. Evite usar HTTP para transmissão de dados. Como a autenticação simples transmite o AppCode em texto simples, utilizar o protocolo HTTP não criptografado cria um alto risco de comprometimento do AppCode caso os pacotes de rede sejam interceptados.
Visão geral
Para obter informações sobre a autenticação por assinatura, consulte Chamar uma API usando autenticação por assinatura.
-
A autenticação simples (AppCode) valida clientes por meio de um
AppCodeemitido pelo API Gateway. O cliente inclui oAppCodeno cabeçalho da requisição ou como umquery parameterpara autenticação. Isso permite chamar rapidamente umaAPI.Crie uma API que utilize autenticação simples (AppCode).
Crie um aplicativo para obter um
AppCode.Autorize o aplicativo a chamar a API.
Utilize o
AppCodeemitido pelo API Gateway para autenticação.
Criar uma API para autenticação AppCode
Faça login no console do API Gateway. No painel de navegação à esquerda, escolha API Management > API Groups. Na página API Groups, clique em Create Group no canto superior direito.
Na página Create Group, selecione sua instância do API Gateway na lista suspensa Instance, insira um Group Name e um BasePath e clique em OK.
No painel de navegação à esquerda, escolha . Na página APIs, clique em Create API no canto superior direito.
-
Na página Create API, na seção Basic Information, selecione o Group criado. Insira um API Name. Para Security Authentication, selecione Alibaba Cloud App. Em AppCode Authentication, selecione Enable AppCode Authentication (Header) ou Enable AppCode Authentication (Header & Query).
A tabela a seguir descreve as opções de autenticação AppCode.
Opção
Descrição
Enable After Publishing to Alibaba Cloud Marketplace
Esta opção vem desativada por padrão. Caso a API seja publicada no Alibaba Cloud Marketplace, ative esta opção para permitir a autenticação AppCode no cabeçalho da requisição.
Disable AppCode Authentication
A autenticação AppCode está desativada. Todas as chamadas de API devem usar autenticação por assinatura, independentemente de a API estar publicada no Alibaba Cloud Marketplace.
Enable AppCode Authentication (Header)
A autenticação AppCode está ativada. O AppCode só pode ser transmitido no cabeçalho da requisição, independentemente de a API estar publicada no Alibaba Cloud Marketplace.
Enable AppCode Authentication (Header & Query)
A autenticação AppCode está ativada. O AppCode pode ser transmitido no cabeçalho da requisição ou como um parâmetro de consulta, independentemente de a API estar publicada no Alibaba Cloud Marketplace.
Selecione um Signature Algorithm e clique em Next.
Na etapa Define API Request, configure a requisição da API. Para mais informações, consulte Definir uma requisição de API. Em seguida, clique em Next.
Na etapa Define Backend Service, configure o serviço de backend. Para mais informações, consulte Definir informações do serviço de backend. Em seguida, clique em Next.
Na etapa Define Response, configure a resposta. Para mais informações, consulte Definir uma resposta. Por fim, clique em Save.
Ao definir parâmetros de API, não é necessário adicionar um parâmetro para o
AppCode.Após criar a API, publique-a em um ambiente para depuração.
Criar um aplicativo
Faça login no console do API Gateway. No painel de navegação à esquerda, escolha . Na página Apps, clique em Create App no canto superior direito.
Na caixa de diálogo Create App, insira um App Name e clique em OK.
Um
AppCodeé gerado automaticamente para cada novo aplicativo. Para localizar o AppCode, acesse a página Apps e clique no nome de um aplicativo para abrir sua página de App Details.Quando usuários do Alibaba Cloud Marketplace adquirem uma API, um aplicativo é criado automaticamente para eles.
Autorizar um aplicativo a usar uma API AppCode
Faça login no console do API Gateway. No painel de navegação à esquerda, escolha . Na página APIs, localize a API criada e, na coluna Actions, clique em
e, em seguida, clique em Authorize.Na caixa de diálogo de autorização, selecione o Stage e defina o Authorization Validity Period. Em Select Apps for Authorization, localize a seção My Apps e clique em Search para visualizar os aplicativos da sua conta. Selecione o aplicativo desejado, clique em Add e, em seguida, clique em OK.
Autenticar usando um AppCode
Forneça o AppCode de duas formas: no request header ou como um query parameter.
Método 1: Transmitir o AppCode no cabeçalho
Adicione um parâmetro
Authorizationaorequest header.-
O valor do campo
Authorizationdeve começar comAPPCODE, seguido por um espaço e o valor do AppCode. Formato:Authorization:APPCODEExemplo:
Authorization:APPCODE 3F2504E04F8911D39A0C0305E82C3301ImportanteSe o serviço de backend for uma função HTTP, o cabeçalho
Authorizationnão será transmitido ao serviço de backend. O parâmetroAuthorizationda função HTTP o substitui. Portanto, recomendamos transmitir o AppCode como um parâmetro de consulta.
Método 2: Transmitir o AppCode como parâmetro de consulta
Adicione um parâmetro
AppCodeàqueryda requisição. O nome do parâmetro não diferencia maiúsculas de minúsculas. É possível usarappcode,appCode,APPCODEouAPPCode.O valor do parâmetro
AppCodecorresponde ao seu valor deAppCode.
Exemplo:
http://?AppCode=3F2504E04F8911D39A0C0305E82C3301