Pular para o conteúdo principal

Autenticação

A API utiliza autenticação em dois passos com JWT RS256:

  1. Você gera um JWT assimétrico (curta duração) assinado com sua chave privada
  2. Envia esse JWT para POST /auth/signin e recebe um token operacional (longa duração)
  3. 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:

  1. Gere um par de chaves RSA 2048-bit (ex: jsencrypt demo)
  2. Acesse o portal → ConfiguraçõesChaves de APICriar chave API
  3. Informe um nome e cole a chave pública (o sistema sanitiza automaticamente prefixos e quebras de linha)
  4. Salve o ID da chave API — este será o campo sub do JWT
  5. Guarde a chave privada — ela será usada para assinar o JWT (sem os prefixos BEGIN/END e 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
}
CampoDescrição
subID da chave API (obtido no portal ao criar a chave)
iatTimestamp de emissão (issued at), em segundos Unix
expTimestamp 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

TokenValidadeQuando renovar
JWT assimétricoMáximo 60 segundosGere um novo a cada chamada ao /auth/signin
Token operacionalConfigurável por empresaAo 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.