Improve authentication

- Default users cannot access api even with a valid token
- Improved test coverage
- Improved sign up paths, redirecting non api users to invite them to create an api account
- Added support for admin users to log in with existing accounts and generate a valid token