Which 3rd Party (Social) Auth App should I use?

310 views
Skip to first unread message

Tobias Dacoir

unread,
Jan 14, 2015, 5:37:44 AM1/14/15
to django...@googlegroups.com
I'm trying to integrate Social Auth to my Webapp. As I have to store a lot of additional information for each User I had two choices:

A) Create a UserProfile with a OneToOne Relationship to User
B) Overwrite the default User class by inhereting from Abstract User

Currently I chose to go with B) as was also recommended. Now I have found three Addons that seem to be popular:

- django-registration-redux
- django social-auth
- django-allauth

I found some tutorial for all three of those (can post links to them if anyone wants) however, all tutorial just make use a regular user model. I have not been able to find a solution / example on how to connect to a custom UserProfile for example. I have tested django-allauth using my overwritten User Model and I was able to log in using Facebook, however I have no idea how to automatically include my custom properties in a sign-up form (as there is essentially no sign up, just log in via facebook).

What I'd like to do is the following:

- Allow users to register at my site
- During registration not only ask for username, email and password but additional required fields like language settings (so extend default form)
- Allow Sign-Up / Login through OAuth (Facebook and Google at least) but still have the user fill out those required fields.

Can someone please tell me which 3rd Party App to use and maybe point me to a tutorial / example that adds additional user properties during registration?

Viktor Voronin

unread,
Jan 14, 2015, 9:42:06 AM1/14/15
to django...@googlegroups.com
Hi Tobias

There is an ability to inject your custom logic into authenticating process.

And why did you decide to take B way? Or why did you reject A?

Tobias Dacoir

unread,
Jan 14, 2015, 12:16:37 PM1/14/15
to django...@googlegroups.com
Thanks for the link. That explain's how I can inject my logic and hopefully form into the authentication process. Still quite complicated for a beginner.

I did some more reading and apparently I need django-registration-redux for local registration (and stuff like password reset) and then a 2nd addon for social auth.

Still I'm not quite sure what the difference between django-allauth and django-social-auth is.

As for your question, I was quite unsure which to chose, so I did a lot of reading and asked on this forum. People recommended B), however I haven't fully understood why. Intuitively I would have chosen A) by myself, not only because it was shown in the online tutorial I read (Tango with Django) but also because it seems to be less complex.

Tobias Dacoir

unread,
Jan 15, 2015, 6:58:50 AM1/15/15
to django...@googlegroups.com
After more reading and experimenting I think I will use django-allauth. It allows local and social auth and signup. And I was able to customize the local signup form very easily (thanks to stackoverflow).
Reply all
Reply to author
Forward
0 new messages