Add user authentication (not yet complete).