Relação entre Tenants e Clientes
Conceitos
tenant representa a instância ativa no contexto de autenticação, no formato instance-....
cliente representa a entidade de negócio dentro daquela instância (tenant), carregada via WebApi.
Fluxo final
- O IDP recebe o
tenant selecionado.
- O IDP consulta a WebApi em
/instance/clientes, enviando tid=<tenant>.
- A WebApi retorna os clientes da instância conforme o perfil:
Admin/administrador (ou client interno confiável do IDP): retorna todos os clientes da instância.
- Usuário comum: retorna apenas clientes permitidos.
- Em caso de falha de integração com a WebApi, o IDP retorna erro e não fornece lista parcial.
- O IDP sincroniza os clientes localmente (mapeamento técnico com
Guid) para persistir acessos em UserApplicationAccess.
- O token emitido pelo IDP contém a claim
client_access_permission no formato:
cliente#role (ex.: enfase#administrador).
- No frontend:
- Usuário com role
Admin: dropdown do header e cadastro exibem todos os clientes da instância.
- Usuário sem
Admin: exibe apenas os clientes presentes em client_access_permission.
client_access_permissions_v2 não é mais utilizado.
Regra consolidada
tenant define qual instância está ativa.
client_access_permission define quais clientes daquela instância o usuário pode acessar.
- Exceção: usuário com role
Admin enxerga todos os clientes da instância.