Pular para o conteúdo principal

Autenticação

A API HAASS usa OAuth 2.0 — Client Credentials. Você troca as credenciais do seu client por um access_token (Bearer) e o envia no header Authorization de todas as demais chamadas.

Fluxo

Como autenticar

  1. Obtenha as credenciaisclient_id e client_secret fornecidos pela HAASS.

  2. Solicite o token em POST /oauth/token com as credenciais no header Authorization: Basic.

  3. Use o token no header de toda chamada de recurso:

    Authorization: Bearer <access_token>

Quickstart

# credenciais fornecidas pela HAASS
export HAASS_API="https://api.haass.com.br"
export CLIENT_ID="seu_client_id"
export CLIENT_SECRET="seu_client_secret"

# 1) emitir o token e guardar em $TOKEN
# (curl monta o header "Authorization: Basic" a partir do -u; jq extrai o token)
TOKEN=$(curl -s -X POST "$HAASS_API/api/v1/oauth/token" \
-u "$CLIENT_ID:$CLIENT_SECRET" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d 'grant_type=client_credentials' | jq -r '.access_token')

# 2) usar o token em uma rota de recurso
curl "$HAASS_API/api/v1/organization/company" \
-H "Authorization: Bearer $TOKEN"

O curl -u "$CLIENT_ID:$CLIENT_SECRET" gera o header Authorization: Basic <base64> automaticamente. O exemplo usa jq para ler o access_token da resposta.

Validade do token

O token expira em expires_in segundos (ex.: 3600 = 1 hora). Guarde-o e reutilize enquanto estiver válido; ao receber 401, emita um novo. Evite pedir um token novo a cada requisição.

Erros de autenticação

CódigoQuandoO que fazer
401 UnauthorizedToken ausente, malformado, inválido ou expirado (a resposta traz WWW-Authenticate: Bearer error="invalid_token").Emita um novo token e reenvie a requisição.
403 ForbiddenToken válido, porém sem escopo suficiente para a rota.Solicite à HAASS os escopos necessários.
Segurança

Nunca exponha o client_secret em código que roda no cliente (browser/app). A emissão do token deve acontecer no seu backend.