Comment by DrScientist
14 hours ago
I think I've added a couple of elements to make it possible to scale your auth service if you need to. Easily swappable implementations and making sure the interfaces advertise that calls may simply fail.
Even so it's still very simple.
To scale your auth service you just write a proxy to a remote implementation and pass that in - any load balancing etc is hidden behind that same interface and none of the rest of the code cares.
Good point! Sorry if I was being ungenerous.
I like the idea of the remote implementation being proxied -- not sure I've come across that pattern before.