Autenticação
A API utiliza autenticação em dois passos com JWT RS256:
- Você gera um JWT assimétrico (curta duração) assinado com sua chave privada
- Envia esse JWT para
POST /auth/signine recebe um token operacional (longa duração) - Usa o token operacional em todas as demais requisições
Pré-requisitos: Chaves API
Antes de autenticar, você precisa criar uma chave API no portal:
- Gere um par de chaves RSA 2048-bit (ex: jsencrypt demo)
- Acesse o portal → Configurações → Chaves de API → Criar chave API
- Informe um nome e cole a chave pública (o sistema sanitiza automaticamente prefixos e quebras de linha)
- Salve o ID da chave API — este será o campo
subdo JWT - Guarde a chave privada — ela será usada para assinar o JWT (sem os prefixos
BEGIN/ENDe sem quebras de linha)
Gerando o JWT Assimétrico
O JWT deve conter exatamente estes campos:
{
"sub": "ID_DA_CHAVE_API",
"iat": 1700000000,
"exp": 1700000060
}
| Campo | Descrição |
|---|---|
sub | ID da chave API (obtido no portal ao criar a chave) |
iat | Timestamp de emissão (issued at), em segundos Unix |
exp | Timestamp de expiração — máximo 60 segundos após iat |
Exemplo em Python
import jwt
import time
private_key = open("private_key.pem").read()
now = int(time.time())
payload = {
"sub": "SEU_API_KEY_ID",
"iat": now,
"exp": now + 60
}
token = jwt.encode(payload, private_key, algorithm="RS256")
print(token)
Exemplo em Node.js
const jwt = require('jsonwebtoken');
const fs = require('fs');
const privateKey = fs.readFileSync('private_key.pem');
const now = Math.floor(Date.now() / 1000);
const payload = {
sub: 'SEU_API_KEY_ID',
iat: now,
exp: now + 60
};
const token = jwt.sign(payload, privateKey, { algorithm: 'RS256' });
console.log(token);
Autenticando na API
Envie o JWT no header Authorization como Bearer token:
curl -X POST https://api-caas-it-sandbox.liqi.app.br/auth/signin \
-H "Authorization: Bearer SEU_JWT_ASSIMETRICO"
Resposta de Sucesso (200)
{
"token": "eyJhbGciOiJIUzI1NiIs..."
}
O token retornado é o token operacional que deve ser usado em todas as requisições subsequentes.
Usando o Token Operacional
curl https://api-caas-it-sandbox.liqi.app.br/account/fetchProfiles \
-H "Authorization: Bearer TOKEN_OPERACIONAL"
Expiração dos Tokens
| Token | Validade | Quando renovar |
|---|---|---|
| JWT assimétrico | Máximo 60 segundos | Gere um novo a cada chamada ao /auth/signin |
| Token operacional | Configurável por empresa | Ao receber erro 401 Unauthorized, gere um novo JWT e refaça o signin |
Atenção para usuários Windows
É necessário que a data e hora do sistema estejam corretas. Se o relógio estiver desincronizado, o JWT será rejeitado com erro 401. Atualize o horário da máquina e tente novamente.
Integração com Postman
Veja o guia Integração com Postman para configurar autenticação automática nas suas requisições.