Todos os produtos
Search
Central de documentação

Function Compute:Configurar autenticação JWT para um nome de domínio personalizado

Última atualização: Sep 09, 2026

A autenticação JWT permite que o Function Compute verifique as solicitações recebidas no nível do gateway antes que elas cheguem à sua função. Ao configurar um JSON Web Key Set (JWKS) público em um nome de domínio personalizado, o Function Compute valida o token de cada solicitação e encaminha as claims verificadas diretamente para a função. Assim, sua função processa apenas a lógica de negócios, sem necessidade de código de autenticação.

Para configurar a autenticação JWT de ponta a ponta, siga estas etapas:

  1. Gere um par de chaves JWKS e mantenha a chave privada confidencial.

  2. Ative a autenticação JWT em um nome de domínio personalizado e cole a chave pública no console.

  3. Configure a origem de leitura do token pelo Function Compute em cada solicitação.

  4. (Opcional) Mapeie as claims do JWT para parâmetros da função.

  5. Gere um token de teste e verifique a configuração com o Postman.

Como funciona

A autenticação JWT para nomes de domínio personalizados segue o mesmo fluxo da autenticação JWT para gatilhos HTTP. O processo utiliza criptografia assimétrica: uma chave privada assina o token e uma chave pública o verifica.

image

O fluxo ocorre da seguinte maneira:

  1. O cliente envia uma solicitação de autenticação para um autorizador personalizado, geralmente com nome de usuário e senha.

  2. O autorizador verifica as credenciais e usa uma chave privada para gerar um token JWT padrão.

  3. O autorizador retorna o token ao cliente, que o armazena em cache localmente.

  4. O cliente envia uma solicitação de negócios contendo o token para o gatilho HTTP.

  5. O Function Compute utiliza a chave pública configurada para validar o token na solicitação.

  6. Se a validação for bem-sucedida, o Function Compute encaminha a solicitação para sua função, incluindo quaisquer claims mapeadas.

  7. A função processa a solicitação e retorna uma resposta.

  8. O Function Compute encaminha a resposta ao cliente.

Para obter mais informações sobre JWT e autenticação por token, consulte JWT-based token authentication e Introdução aos JSON Web Tokens.

Limites

  • O Function Compute autentica JWTs usando o JWKS público configurado para o domínio. Você deve gerar e distribuir os JWTs com base na sua própria lógica de negócios.

  • JSON Web Keys (JWKs) sem ID de chave (kid) são suportadas. No máximo uma JWK em um JWKS pode ter um kid não especificado ou vazio.

  • É possível configurar várias JWKs para um nome de domínio personalizado. O Function Compute corresponde o kid do token à JWK correta e usa essa chave para verificar a assinatura.

  • Os tokens podem ser lidos nos parâmetros de header, query, form e cookie.

  • As claims podem ser encaminhadas como parâmetros de header, query, form e cookie.

Algoritmos de assinatura suportados:

Algoritmo de assinatura

**Valor de alg**

RSASSA-PKCS1-v1_5

RS256, RS384 ou RS512

RSASSA-PSS

PS256, PS384 ou PS512

Curva Elíptica (ECDSA)

ES256, ES384 ou ES512

HMAC

HS256, HS384 ou HS512

EdDSA

EdDSA

Importante

O HMAC utiliza criptografia simétrica, menos segura que a criptografia assimétrica. Sempre que possível, prefira algoritmos assimétricos. Ao usar criptografia assimétrica, inclua apenas informações da chave pública no seu JWKS. Utilize HTTPS para proteger os tokens durante a transmissão e evitar vazamentos.

Pré-requisitos

Antes de começar, certifique-se de ter:

Configurar autenticação JWT

Etapa 1: Abrir as configurações do nome de domínio personalizado

  1. Faça login no console do Function Compute. No painel de navegação à esquerda, escolha Advanced Features > Custom Domains.

  2. Na barra de navegação superior, selecione a região onde reside seu nome de domínio personalizado.

  3. Na página Custom Domains, clique em o nome de domínio que deseja configurar.

  4. No canto superior direito, clique em Modify.

Etapa 2: Ativar a autenticação JWT

Na página Modify Custom Domain Name, defina Authentication Method como JWT Authentication.

image.png

Etapa 3: Configurar o JWKS

A autenticação JWT exige um JWKS válido contendo sua chave pública. Gere um usando ferramentas online como mkjwk.org. Caso já possua uma chave privada no formato PEM, utilize uma ferramenta como jwx para convertê-la ao formato JWKS.

Para gerar um JWKS no mkjwk.org: defina Key Use, Algorithm e Show X.509, depois clique em Generate. A ferramenta produz duas chaves:

  • ① Chave privada — use-a em seu código para assinar (emitir) tokens JWT. Mantenha-a confidencial.

  • ② Chave pública — cole-a no array keys no console do Function Compute.

imageimage

O JWKS colado no console segue esta estrutura:

{
    "keys": [
        {
            "alg": "RS256",
            "e": "AQAB",
            "kty": "RSA",
            "n": "u1LWgoomekdOMfB1lEe96OHehd4XRNCbZRm96RqwOYTTc28Sc_U5wKV2umDzolfoI682ct2BNnRRahYgZPhbOCzHYM6i8sRXjz9Ghx3QHw9zrYACtArwQxrTFiejbfzDPGdPrMQg7T8wjtLtkSyDmCzeXpbIdwmxuLyt_ahLfHelr94kEksMDa42V4Fi5bMW4cCLjlEKzBEHGmFdT8UbLPCvpgsM84JK63e5ifdeI9NdadbC8ZMiR--dFCujT7AgRRyMzxgdn2l-nZJ2ZaYzbLUtAW5_U2kfRVkDNa8d1g__2V5zjU6nfLJ1S2MoXMgRgDPeHpEehZVu2kNaSFvDUQ",
            "use": "sig"
        }
    ]
}

Etapa 4: Configurar a localização do token JWT

Na seção JWT Token Configuration, defina a Read Position (Header, Cookie, Query Parameters ou Form Parameters) e o nome do parâmetro onde o Function Compute deve buscar o token.

Se você definir a Read Position como Header, especifique um valor para Remove Prefix. O Function Compute remove esse prefixo antes de analisar o token. Por exemplo, se o prefixo for definido como Bearer, um cabeçalho de solicitação Authorization: Bearer <token> fará com que o Function Compute extraia e valide apenas <token>.

image.png

Etapa 5: Configurar o encaminhamento de claims (opcional)

Na seção JWT Claim Conversion, mapeie as claims do JWT para parâmetros da função. Para cada mapeamento, especifique:

  • Mapping Parameter Position — para onde encaminhar a claim (Header, Cookie, Query Parameters ou Form Parameters)

  • O nome original da claim no token

  • O nome do parâmetro passado para a função

image.png

Etapa 6: Salvar a configuração

Clique em Save.

Verificar a configuração

Utilize a chave privada gerada na seção anterior para criar um token JWT de teste e, em seguida, use o Postman para confirmar se o nome de domínio autentica corretamente as solicitações.

Gerar um token de teste

  1. Instale o módulo PyJWT. Consulte PyJWT.

  2. Execute o script Python abaixo localmente para gerar um token. Substitua o placeholder da chave privada pela chave privada X.509 PEM obtida na etapa de geração do JWKS.

import jwt
import time

private_key = """
-----BEGIN PRIVATE KEY-----
<Your X.509 PEM private key>
-----END PRIVATE KEY-----
"""

headers = {
    "alg": "RS256",
    "typ": "JWT"
}

payload = {
    "sub": "1234567890",
    "name": "John Snow",
    "iat": int(time.time()),              # Token issuance time
    "exp": int(time.time()) + 60 * 60,   # Token expires in 1 hour
}

encoded = jwt.encode(payload=payload, key=private_key.encode(), headers=headers)
print("Generated token: %s" % encoded)

Testar com o Postman

  1. No console do Function Compute, acesse Advanced Features > Custom Domains. Copie seu nome de domínio personalizado e cole-o no campo URL do Postman.

  2. Adicione um cabeçalho de solicitação correspondente às suas configurações de JWT Token Configuration. Por exemplo, se o nome do parâmetro for Authentication e o prefixo for Bearer:

    Importante

    Certifique-se de que a formatação do JWT no cabeçalho da solicitação esteja alinhada com as configurações de Remove Prefix. Em caso de divergência, será retornado o erro invalid or expired jwt.

    Parâmetro

    Valor

    Descrição

    Key

    Authentication

    Nome do parâmetro configurado em JWT Token Configuration

    Value

    Bearer <your-jwt-token>

    Prefixo configurado, seguido de espaço e do token gerado na etapa anterior

  3. Clique em Send e verifique a resposta.

image.png

Se o encaminhamento de claims estiver configurado, a resposta confirmará que a claim foi passada para a função. Por exemplo, nametofunction representa o nome do parâmetro encaminhado a partir do mapeamento de claims.

Perguntas frequentes

Por que estou recebendo "invalid or expired jwt"?

O Function Compute recebeu o token, mas o rejeitou durante a validação. As possíveis causas são:

  • A assinatura ou o formato do seu token é inválido.

  • Seu token expirou. Gere um novo token.

  • O ID da chave do token (kid) não corresponde ao JWKS configurado para seu nome de domínio personalizado, ou a JWK correspondente não está correta.

Por que estou recebendo "the jwt token is missing"?

O Function Compute não conseguiu encontrar o token na solicitação. Verifique se o token está presente na solicitação e se a Read Position e o nome do parâmetro em JWT Token Configuration correspondem exatamente ao local onde você está enviando o token. Se a Read Position estiver definida como Header, o valor do cabeçalho deve incluir o valor de Remove Prefix seguido de um espaço antes do token.

A autenticação JWT é cobrada separadamente?

Não. A autenticação JWT não gera custos adicionais. O faturamento do Function Compute baseia-se no número de invocações da função, independentemente de a autenticação JWT estar ativada ou não.