Existem quatro camadas de permissão na aplicação:

Papéis no Gateway

O Gateway valida o JWT emitido pelo Keycloak e extrai o sub, preferred_username, email e papéis efetivos.
O papel global SENSOR_ADMIN permite criar sensores. Para operar um sensor específico, o usuário também precisa do vínculo sensor_admin, a menos que seja administrador de sistema.

Vínculo por sensor

O Auth Service guarda a relação: Quando o Gateway precisa consultar ou alterar um sensor, ele pergunta ao Auth Service se o usuário tem vínculo ativo. A criação do sensor também cria o vínculo do criador e dos admins adicionais enviados no corpo da requisição.

Device e assinatura

O smart meter não usa JWT. Ele se autentica por dois elementos: O segredo HMAC só é devolvido no primeiro boot. Se o mesmo deviceId voltar com a mesma carteira, o servidor responde already_registered: true e não reemite o segredo.

Token interno

Rotas service-to-service usam X-Internal-Token. O mesmo segredo é usado como metadata x-internal-token nas chamadas gRPC.

Tabela rápida

Papéis on-chain dos contratos atuais

Os papéis on-chain em uso são:

Cadastro e equipe

Como entrar na aplicação e cadastrar sensores