Árvore de páginas


VISÃO GERAL

1. Autenticação vs. Autorização (Permissionamento)


Para entender o permissionamento, é crucial diferenciar dois conceitos:

  • Autenticação (Quem é você?): É o processo de provar sua identidade. Em uma API, isso geralmente é feito fornecendo credenciais (como login e senha) para obter um "crachá" digital, chamado token.

  • Autorização (Permissionamento - O que você pode fazer?): É o conjunto de regras que define o que um usuário autenticado pode fazer. É o que o seu "crachá" digital permite que você acesse.

Analogia Rápida: Autenticação é mostrar seu documento na portaria do prédio. Autorização (Permissionamento) é o seu crachá só abrir a porta do seu andar, mas não a da diretoria.


2. Por que o Permissionamento Existe em APIs?


APIs são as portas de comunicação entre sistemas. O permissionamento existe para controlar quem pode fazer o quê, garantindo:

  • Segurança de Dados: Impede que um usuário (Usuário A) leia ou modifique dados de outro (Usuário B).

  • Controle de Acesso: Aplica o "Princípio do Menor Privilégio", onde um usuário (ex: "editor") só tem as permissões necessárias para seu trabalho, e não permissões de "administrador".

  • Prevenção de Abuso: Limita o dano que um usuário mal-intencionado ou uma conta comprometida pode causar.


3. O que é Autenticação do tipo "Bearer"?


"Bearer" (portador) é o tipo mais comum de autenticação por token. A lógica é simples: "Quem porta este token é tratado como o dono das permissões que ele concede."

Funciona assim:

  1. O usuário se autentica (ex: com login/senha).

  2. O servidor gera e devolve um Token.

  3. Para cada requisição futura à API, o cliente envia esse token no cabeçalho HTTP: Authorization: Bearer <token_aqui>

O token é como uma chave-mestra temporária. Se alguém roubá-lo, pode se passar pelo usuário (por isso, o uso de HTTPS é obrigatório).


4. Como o Token "Bearer" se Conecta ao Permissionamento


O token "Bearer" não é apenas uma chave aleatória; ele carrega a identidade e as permissões do usuário. Na maioria das APIs modernas, esse token é um JWT (JSON Web Token).

Um JWT contém, em seu "payload" (carga útil), informações sobre o usuário, como seu ID e, o mais importante, suas permissões (conhecidas como roles ou scopes).

Exemplo de Fluxo:

  1. Um usuário "Editor" faz login e recebe um token Bearer (JWT) que diz: role: "editor", scopes: ["read:posts", "write:posts"].

  2. Ele tenta apagar um usuário enviando seu token para o endpoint DELETE /users/123.

  3. Autenticação: A API valida o token e confirma: "Ok, este é um Editor autenticado."

  4. Autorização (Permissionamento): A API vê que o endpoint DELETE /users/123 exige a permissão "delete:users".

  5. Decisão: A API compara as permissões do token com a permissão exigida. Como o Editor não possui "delete:users", a API bloqueia a ação e retorna um erro HTTP 403 Forbidden (Proibido), mesmo que ele esteja autenticado.


Pré Requisitos

Instruções de como obter o token: Login - POST


Perfis e níveis de acesso


Para usuários que se autenticam com nível abaixo de Administrador será necessário configurar a permissão pra realizar as ações de integração com a API.

Caminho: Módulo Segurança Web > Menu Permissões > Aplicação Associação de Permissão Usuário/Grupo - GLO_00006

Caminho da aplicação para dar os permissionamentos ao usuário: 

Sistema: Comercial Web

Módulo : Integrações Vendas API

 Aplicação: Integração Venas e WMS - API



Cada permissão será para um tipo de rota.

GET - Listar

Post - Inserir

Put - Atualizar

Delete - Apagar


Caso o usuário utilizado para autenticação não tenha permissão na aplicação, a api retornará o status 403.