Tokens no IXC ACS
Introdução
A autenticação do IXC ACS é baseada em JWTs (JSON Web Tokens), uma forma autocontida de token que carrega em seu payload um objeto JavaScript e uma assinatura digital. Os JWTs utilizados no ACS são assinados utilizando chaves ECDSA (Elliptic Curve Digital Signature Algorithm).
Antes de utilizar os JWTs da API do IXCsoft ACS, é crucial entender seu funcionamento e gerar seu par de chaves ECDSA.
Estrutura de um JWT
Um JWT é composto por três partes principais:
- Cabeçalho: Contém informações sobre o tipo de assinatura utilizado no Token.
- Corpo: Armazena dados relacionados ao usuário criador do Token, seu destinatário e informações do próprio Token.
- Assinatura: Contém uma assinatura digital das duas partes anteriores do Token.
O formato padrão de um JWT é:
xxxxxx.yyyyyy.zzzzzz
Onde:
xxxxxx
: Cabeçalho codificado em Base64Urlyyyyyy
: Corpo codificado em Base64Urlzzzzzz
: Assinatura codificada em Base64Url
Nunca transmita dados sensíveis em um JWT. As informações no corpo do JWT são apenas codificadas, não criptografadas. Em conexões inseguras, considere seu JWT como desprotegido.
Detalhamento das Partes do JWT
Cabeçalho
Codificado:
eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9
Decodificado:
{
"alg": "ES256",
"typ": "JWT"
}
typ
: Indica que o documento é do tipo JWT.alg
: Especifica o algoritmo criptográfico usado na assinatura (sempre ES256 para Tokens da API do IXC ACS).
Corpo
Codificado:
eyJpc3MiOiI2MTg1ODMyNGRlNmNlZjAwMTFmNTFiMDUiLCJleHAiOjE2MzgyMTU3MDgsImlhdCI6MTYzODIxNDcwOH0
Decodificado:
{
"iss": "61858324de6cef0011f51b05",
"exp": 1638215708,
"iat": 1638214708
}
iss
: Identificador do emissor do JWT (ID do Client API).exp
: Timestamp UNIX de expiração do Token.iat
: Timestamp UNIX de criação do Token.
Recomenda-se um curto período de validade para o Token de Autorização para reduzir riscos de uso indevido.
Assinatura
Codificado:
F1DRaeJcQ1oG8Nc33R0iSEBppEGFUQmLFKDzAaX3e9I2sTLZT0qOerw8nUhbcogAZsZpwQdQdAnU4B0SKIvBDA
A assinatura é gerada automaticamente usando a chave privada do emissor do Token.
Processo de Criação e Uso do Token
- Adicione os dados necessários ao corpo do Token.
- Assine o Token usando o algoritmo ES256 e sua Chave Privada.
- Use o Token gerado para solicitar um Token de Acesso.
- Envie o Token como Bearer Token ao Endpoint de Autenticação da API.
Considerações de Segurança
- Mantenha suas chaves privadas seguras.
- Use HTTPS para todas as comunicações que envolvem JWTs.
- Implemente rotação regular de chaves para aumentar a segurança.
Etiquetas
JWT Autenticacao API Seguranca