DEV Community

Discussion on: Hexagonal Architecture and Clean Architecture (with examples)

Collapse
 
zluther89 profile image
Zach

Great article!

One small critique: In the github example authentication is included as a a use-case and is tightly coupled to the idea of having a token. I don't believe this follows the principles described in the article, as there are other forms of authentication that use different forms of verification (certs for example) and as you say "use cases are the user actions". Logging in and logging out are user actions, but "authenticating" is not. Since authentication is only used by http middleware, and is a fairly low level detail of your system I believe this should be moved to the architecture layer and used directly by an adaptor.

Collapse
 
boscodomingo profile image
Bosco Domingo

I agree. The specific mechanism for authentication should be decoupled from the act of authenticating.

PS Don't forget authentication and authorisation are different things!