Implement authentication, both on the backend and the frontend. TODO: Add error catching on login (currently does nothing).