Domínio de autorização: RBAC com role types, claims derivados e resolução por Profile.
O DEVMOB utiliza um modelo de Role-Based Access Control (RBAC) para controlar autorização. Cada usuário autenticado possui um conjunto de permissions, montado a partir das roles e de claims derivados. Esse conjunto decide quais ações ele pode executar.
O vínculo Membership conecta um User a uma Role. Para ENVIRONMENT e ORGANIZATION, a Membership também carrega a Organization do escopo. Para INTERNAL, a Membership não possui organização. Apenas vínculos ACTIVE entram no Profile.
Um claim de acesso é uma permission derivada do vínculo que habilita o usuário a entrar em uma API surface. Os claims access:ops, access:bko e access:driver liberam o ingresso nas superfícies correspondentes e são avaliados antes das permissions de negócio.
Claim
Derivado quando
access:bko
O usuário possui Membership ACTIVE com Role INTERNAL
access:ops
O usuário possui Membership ACTIVE em organização com Role ENVIRONMENT ou ORGANIZATION
access:driver
O usuário possui vínculo ativo como motorista em uma empresa
O conjunto de permissions do usuário é a união de quatro fontes:A checagem em cada requisição segue o fluxo abaixo. A organização ativa vem do perfil autenticado:
O mesmo usuário pode ter a role “Administrador” em uma cooperativa e “Operador” em uma empresa afiliada. O Profile resolve no máximo uma organização ativa por vez, e as permissions são avaliadas no contexto dessa organização.