add auth with tests

I suggest using a different feature (possibly in a different file) for sign_up/sign_in/sign_out