Add a token-based authentication
Add persistence to auth system