Blip Firehose
  • Detalhes
    • Blip Firehose
    • UI (Alpha)
    • Casos de Uso
    • Arquitetura
    • Hosts
    • Autenticação
    • Postman
    • API
  • Configurações
    • Configuração
    • Configuração de Entrada
      • Azure Blob
      • Delta Sharing
      • Google Cloud PubSub
      • HTTP Client
      • HTTP
      • Kafka
      • N8N
      • SQL
    • Configuração de Saída
      • AWS Kinesis
      • AWS S3
      • Azure Blob
      • Delta Lake
      • Elastic Search
      • Email Transacional
      • Email
      • Firehose
      • Google Cloud PubSub
      • Google Cloud Storage
      • HTTP
      • Kafka
      • MongoDB
      • SFTP
      • SQL
    • Processamento em Streaming
    • Configuração de Indexação
    • Configuração de Filtro
    • Transformação
    • Verificar Configuração
  • Informações
    • Vídeo explicativo
    • Observabilidade
Powered by GitBook
On this page
  • Acesso ao portal
  • Login
  • JWT Token
  • Basic Token
  1. Detalhes

Autenticação

PreviousHostsNextPostman

Last updated 9 months ago

Para acessar a API do Firehose é necessário um token de autenticação que pode ser obtido a partir do processo de Login com as credenciais do usuário.

Essas credenciais precisam ser solicitadas ao time responsável pelo Firehose (DataStream). As seguintes pessoas podem conceder acesso: , , e .

Após receber o usuário e senha pela primeira vez, será necessário realizar a troca da senha no respectivo portal do ambiente.

Caso a senha não tenha sido alterada, a requisição de login retornará o seguinte erro:

{
  "error": "401",
  "message": "400 Bad Request: invalid_grant: Account is not fully set up"
}

Acesso ao portal

Login

O token de acesso pode ser obtido de duas formas:

JWT Token

De posse dos dados de login já com a senha alterada o seguinte endpoint precisa ser chamado para obtenção do token de acesso.

curl --location '<HOST>/v1/auth/login' \
--header 'Content-Type: application/json' \
--data '{
  "password": "PASSWORD",
  "username": "USERNAME"
}'

A resposta terá o seguinte formato:

{
  "access_token": "ACCESS-TOKEN",
  "id_token": "ID-TOKEN",
  "expires_in": SECONDS,
  "refresh_expires_in": SECONDS,
  "refresh_token": "REFRESH-TOKEN",
  "token_type": "Bearer",
  "scope": "openid email profile"
}

O ACCESS-TOKEN possui um período de validade de 30 dias. Antes de seu vencimento, você tem a opção de renová-lo utilizando o REFRESH-TOKEN.

Atualização do Token JWT

Para atualizar o token do Firehose você pode utilizar o refresh-token recebido duirante a etapa de login:

curl --location '<HOST>/v1/auth/refresh-token' \
--header 'Content-Type: application/json' \
--data '{
  "refresh_token": "REFRESH-TOKEN"
}'

A resposta será a seguinte:

{
  "access_token": "ACCESS-TOKEN",
  "id_token": "ID-TOKEN",
  "expires_in": SECONDS,
  "refresh_expires_in": SECONDS,
  "refresh_token": "REFRESH-TOKEN",
  "token_type": "Bearer",
  "scope": "openid email profile"
}

Para esta requisição, é necessário utilizar um refresh-token que ainda esteja válido. Desta forma, ela não pode ser usada para renovar tokens já vencidos e a autenticação terá que ser refeita com o login.

Requisições não autenticadas ou com algum problema de autenticação como por exemplo access token vencido resultarão em status 401. Nesse caso é recomendado ter uma tratativa de erro para realizar uma chamada na API de login e repetir novamente a requisição com os novos tokens de acesso.

Exemplo de requisição que usa o token JWT

curl --location '<HOST>/v1/auth/inspect-token' \
--header 'Authorization: "ACCESS-TOKEN"'

Basic Token

Caso o usuário tenha a autenticação via basic auth habilitado (necessário solicitar aos administradores), é possível gerar um token basic com o usuário e senha a partir do encode em base64 desses valores. Exemplo:

echo '<USERNAME>:<PASSWORD>' | base64 -w 0

A string em base64 resultante pode ser utilizada de uma semelhante a autenticação com token JWT, mas com a diferença que necessita do prefixo Basic antes da string resultante do comando acima.

A autenticação via basic auth é útil em rotinas que são executadas com periodicidade e não conseguem gerenciar o processo de atualização do token JWT.

Exemplo de requisição que usa o token Basic

curl --location '<HOST>/v1/auth/inspect-token' \
--header 'Authorization: Basic <BASE64>'
Júnior Rhis Lima
Silvio Ramalho
Janio Prates Otoni
Guilermo Pelizer Alves Pereira
Homologação
Produção