Na Clean Architecture, onde é mais adequado implementar a validação do JWT e a verificação do tipo de acesso (por exemplo, se o usuário é admin): no middleware na camada de Infraestrutura ou na camada de Application?
Na Clean Architecture, onde é mais adequado implementar a validação do JWT e a verificação do tipo de acesso (por exemplo, se o usuário é admin): no middleware na camada de Infraestrutura ou na camada de Application?
Camada Application
pensando em um cenário onde a verificação de permissões do usuário (ex.: se é admin) seja uma regra comum, você acha válido criar um caso de uso específico para isso na camada de Application? Por exemplo, ter um use case VerifyUserPermission e outros use cases chamarem ele diretamente para verificar permissões.
No entanto, já li em alguns artigos que use cases não deveriam chamar outros use cases.
É porque artigos vão variar por N motivos.
Geralmente esses artigos tem pontos de vistas e o autor irá argumentar baseado nisso. Então a experiência profissional da pessoa estará no texto.
Mas respondendo, eu não acharia ruim. Está bem definido a responsabilidade da função/método ou o que quer seja.
Por mais que a seta que representa na imagem é direcionada reta, talvez confunda. Repare o seguinte, se você chama o use case de outro use case você está trabalhando o fluxo na camada Application ainda(então ok). Exemplo: Controller -> Use Case A -> Use Case B -> Entities ...