3
respostas

[Dúvida] Na Clean Architecture, onde é mais adequado implementar a validação do JWT 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?

3 respostas

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.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

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 ...