Config Auth Core Full (C#)
Overview
Expandir o núcleo de auth para suportar roles, permissões e multi-tenancy em C#, sobre o config-auth-core-basic-cs (User, Password) e o kernel config-shared-core-cs (Entity, Result, ValueObject) — sempre com Result<T> e Errors: IReadOnlyList<string> (§5.1).
Guidelines
RoleePermissionsão entidades de domínio puro (sem dependências EF Core/ASP.NET).Permissionsegue o padrãoresource:action(ex.:products:create).- Use cases (
CreateRoleUseCase,AssignPermissionUseCase) retornamResult<T>— falha sempre comResult<T>.Failure(errors)(lista, nuncathrow). - Autorização no transporte:
Claims+ policy-based authorization ([HasPermission("products:create")]) — nunca acoplar regras RBAC ao controller.
Workflow
- Implementar
RoleePermissionno domínio (verassets/auth-core-full-template-cs/). - Criar Use Cases para gestão de permissões (combinar
Role.Create/Permission.CreatecomResult.Combinequando houver múltiplos invariantes). - Configurar políticas de autorização avançadas (claims, policies, decorators).
- Testes: usar
test-unit-cs(≥95% domain+application) — cobrir duplicidade de role/permission e autorização negada.
NÃO FAZER
- ❌ Retornar
throw/exceção no fluxo normal — use cases devolvemResult<T>.Failure(...).
Resources
agents/openai.yaml: Configuração do agente.scripts/create-auth-core-full-cs.mjs: Script de criação (placeholder).assets/README.md: Estrutura do template RBAC no Core..references/rbac-contract-cs.md: Contrato de roles e permissões..references/rbac-patterns-cs.md: Padrões de autorização (claims, policies).