We should set up an authentication repository that uses supabase and supports the following 1. Sign in (and sign up) with email and password 2. Sign in with Google 3. Sign in with Apple