Django + allauth email first authentication

I have a django rest api app where I want to setup a custom authentication flow. Here is how I want it to work.

Sign Up

  1. User enters email
  2. User gets email verification code
  3. User enters verification code
  4. User adds a password
  5. User selects a username and a display name
  6. User selects a plan
  7. User enters billing information (may not be necessary if they choose a free plan)
  8. User is now fully logged in!

Login

  1. User enters email (if account doesnt exist or is not past step 4 of signup transfers to step 2 of signup)
  2. User enters password (only works if past step 4)
  3. User is routed to step 5-8 of signup if they are not completed
  4. User logs in

Social Signup

I want this to essentially bypass signup steps 1-4 and link a social account.

It seems allauth requires you to signup with a password, and I cannot figure out how to get this flow to work. I am also wondering the correct way to implement this.

I was thinking about using another module thats not allauth, however most other modules do not have support for other social apps.

How should I go about implementing this?

Вернуться на верх