An express middleware that allows to protect an api behind token authentication, rate limiting and endpoint permissions.