O JSON Web Token (JWT) transmite informações de forma segura entre um cliente e um servidor como um objeto JSON. Essas informações são verificáveis e confiáveis porque os JWTs podem ser assinados com HMAC ou pares de chaves pública/privada RSA/ECDSA. O cloud-native API Gateway utiliza autenticação JWT para verifique identidades e controlar o acesso às APIs.
Pré-requisitos
Você possui conhecimento básico do padrão JWT. Para mais informações, consulte Introdução ao JWT.
Você compreende os métodos de integração suportados: seu service de autorização emite tokens para garantir a segurança, e você configure o gateway com uma chave pública para verifique as assinaturas das requisições.
Você preparou uma chave privada e uma chave pública. O service de autorização usa a chave privada para assinar os JWTs. configure a chave pública no cloud-native API Gateway para verifique a assinatura das requisições recebidas.
Contexto
O cloud-native API Gateway oferece autenticação JWT para autorizar o acesso às suas APIs com base em tokens estruturados, ajudando você a atender requisitos de segurança personalizados.
Autenticação baseada em token
APIs expostas pelo cloud-native API Gateway precisam identificar os solicitantes e determinar se devem retornar os recursos solicitados. A autenticação baseada em token verifique a identidade do chamador sem armazenar informações de sessão no servidor, possibilitando autorização stateless e simplificando o dimensionamento da aplicação.
Métodos de integração suportados

crie uma regra de autenticação
Faça login no console do API Gateway.
No painel de navegação à esquerda, clique em . Na barra de navegação superior, selecione uma região.
Na página Instance, clique em no nome da instância de gateway desejada.
No painel de navegação à esquerda, clique em .
-
No canto superior esquerdo da página Global Authentication, clique em Create Authentication. configure os parâmetros e clique em OK.
Parâmetro
Descrição
Enable
Indica se a autenticação deve ser ativada para o cloud-native API Gateway.
Authentication Name
Um nome personalizado para a regra de autenticação.
Authentication Type
O tipo de autenticação. JWT é suportado por padrão.
Issuer
A claim
iss(issuer) do JWT. Essa claim identifica a entidade que emitiu o JWT.Sub
A claim
sub(subject) do JWT. Essa claim identifica a entidade que é o sujeito do JWT.JWKS
O JSON Web Key Set (JWKS) que contém a chave pública usada para verifique o JWT. Veja um exemplo de formato:
{ "keys":[ { "e":"AQAB", "kid":"DHFbpoIUqrY8t2zpA2qXfCmr5VO5ZEr4RzHU_-envvQ", "kty":"RSA", "n":"xAE7eB6qugXyCAG3yhh7pkDkT65pHymX- P7KfIupjf59vsdo91bSP9C8H07pSAGQO1MV_xFj9VswgsCg4R6otmg5PV2 He95lZdHtOcU5DXIg_pbhLdKXbi66Gl VeK6ABZOUW3WYtnNHD-91gVuoeJT_DwtGGcp4ignkgXfkiEm4sw- 4sfb4qdt5oLbyVpmW6x9cfa7vs2WTfURiCrBoUqgBo_-4WTiULmmHSG ZHOjzwa8WtrtOQGsAFjIbno85jp6MnGGGZ PYZbDAa_b3y5u-YpW7ypZrvD8BgtKVjgtQgZhLAGezMt0ua3D RrWnKqTZ0BJ_EyxOGuHJrLsn00fnMQ" } ] }JWT Token
defina como o JWT é extraído da requisição recebida.
-
Type: a localização do parâmetro de token na requisição. O valor padrão é Header.
-
Key: o nome do parâmetro de token.
-
Prefix: o prefixo do valor do parâmetro de token. Por padrão, o token é enviado no cabeçalho Authorization com o prefixo
Bearer, por exemplo:Authorization: Bearer token. -
Enable Passthrough: ao selecionar esta opção, o parâmetro de token é encaminhado para o service de backend.
Authorization
O modo de autorização. Os modos Whitelist Mode e Blacklist Mode são suportados.
-
Lista de permissões: requisições que correspondem aos hosts e caminhos especificados podem ignorar a autenticação. Todas as demais requisições exigem autenticação.
-
Lista de bloqueios: requisições que correspondem aos hosts e caminhos especificados exigem autenticação. Todas as demais requisições passam sem autenticação.
clique em Rule Condition para definir o nome de domínio e o caminho da requisição.
-
Request Domain Name: o nome de domínio na requisição, correspondente a hosts.
-
Request Path: o caminho da API na requisição, correspondente a paths.
-
visualize detalhes da regra de autenticação
Faça login no console do API Gateway.
No painel de navegação à esquerda, clique em . Na barra de navegação superior, selecione uma região.
Na página Instance, clique em no nome da instância de gateway desejada.
No painel de navegação à esquerda, clique em .
-
Na página Global Authentication, localize a regra de autenticação desejada e clique em Description na coluna Actions. Você pode visualize as seções Basic Information e <!--@uicontrol {"id":"9282cf99ba8rd","data-isbold="true"}-->Authentication Configuration da regra, além de gerencie as informações em Authentication Configuration.
A seção Basic Information inclui o nome e a source (por exemplo, JWT). A seção Authentication Configuration inclui campos como Issuer, Type (por exemplo, HEADER), o switch Enable Passthrough, Sub, Prefix (por exemplo, Bearer), Key (por exemplo, Authorization) e JWKS. A seção Authorization Information suporta o modo Whitelist, e o gateway avalia múltiplas condições de regra com lógica OR.
Na seção Authorization Information, clique em Authorization Information e insira um Create Authorization e um Request Domain Name na caixa de diálogo para adicionar uma nova regra de autorização.
verifique o resultado
Retorne à página Request Path. Se a nova regra de autenticação estiver listada, a criação foi bem-sucedida.
Operações relacionadas
Você também pode gerencie as regras de autenticação do gateway das seguintes formas:
Ativar uma regra de autenticação: na página Global Authentication, localize a regra de autenticação desejada e clique em Enable na coluna Actions.
Desativar uma regra de autenticação: na página Global Authentication, localize a regra de autenticação desejada e clique em Close na coluna Actions.
edite uma regra de autenticação: na página Global Authentication, localize a regra de autenticação desejada e clique em Edit na coluna Actions.
exclua uma regra de autenticação: na página Global Authentication, localize a regra de autenticação desejada e clique em Global Authentication na coluna Delete.
Desative a regra de autenticação antes de excluí-la.
Documentação relacionada
Para conhecer outros mecanismos de autenticação, consulte Global Authentication.