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.
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.
"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:
O usuário se autentica (ex: com login/senha).
O servidor gera e devolve um Token.
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).
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:
Um usuário "Editor" faz login e recebe um token Bearer (JWT) que diz: role: "editor", scopes: ["read:posts", "write:posts"].
Ele tenta apagar um usuário enviando seu token para o endpoint DELETE /users/123.
Autenticação: A API valida o token e confirma: "Ok, este é um Editor autenticado."
Autorização (Permissionamento): A API vê que o endpoint DELETE /users/123 exige a permissão "delete:users".
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.
Instruções de como obter o token: Login - POST
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