Fix space assignment during social signup - #4752
Open
tecosaur wants to merge 2 commits into
Open
Conversation
With SOCIALACCOUNT_AUTO_SIGNUP enabled (the default), django-allauth bypasses the social signup form and creates the user directly via the social account adapter, so AllAuthSocialSignupForm.signup() never ran and SOCIAL_DEFAULT_ACCESS users received no UserSpace. They were then prompted to create their own space instead of joining the shared one. Move the default-space assignment to TandoorSocialAccountAdapter.save_user(), the common hook for both automatic (form=None) and form-based signup. The form's signup() override is removed entirely; allauth's base form already provides a no-op, and dropping it avoids assigning the space twice.
Collaborator
|
thank you. have you tested this to work with proxy, third party auth and just normal user/password auth? |
Author
|
I've only tested it with OIDC, since the change just affects the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I ran into an annoying bug while trying to add other people to Tandoor, which I think is best described by the commit message (reproduced below)
With
SOCIALACCOUNT_AUTO_SIGNUPenabled, django-allauth bypasses the social signup form and creates the user directly via the social account adapter, soAllAuthSocialSignupForm.signup()never ran andSOCIAL_DEFAULT_ACCESSusers received no UserSpace. They were then prompted to create their own space instead of joining the shared one.Move the default-space assignment to
TandoorSocialAccountAdapter.save_user(), the common hook for both automatic (form=None) and form-based signup. The form'ssignup()override is removed entirely; allauth's base form already provides a no-op, and dropping it avoids assigning the space twice.