See: <https://docs.servant.dev/en/stable/tutorial/Authentication.html#what-is-generalized-authentication>