## Is your feature request related to a problem?

Currently if you login with SAML and you don't have an account on the PostHog instance one of two things happen: a) either a new account is created **if the email matches the domain whitelist** or b) you get turned down at the door. Yet after some thought, the point of SAML is that you manage user provisioning in a separate centralized system, so we shouldn't have the extra domain check. 

## Describe the solution you'd like

If a user logins through SAML and their account doesn't exist, create it automatically, regardless of whether it matches the domain whitelist.


## Describe alternatives you've considered

Keeping as is.

## Additional context

There's a complicating factor which is that SAML login is instance-based yet user signup is organization-based, so there's the edge case of an instance having multiple orgs. Should the user then be signed up to all organizations?

#### *Thank you* for your feature request – we love each and every one!

posthog/api/signup.py
).get(id=invite_id)
        except (OrganizationInvite.DoesNotExist, ValidationError):
            try:
                invite = TeamInviteSurrogate(invite_id)
            except Team.DoesNotExist:
                return redirect(f"/signup/{invite_id}?error_code=invalid_invite&source=social_create_user")
        try:
            invite.validate(user=None, email=user_email)
        except exceptions.ValidationError as e:
            return redirect(
                f"/signup/{invite_id}?error_code={e.get_codes()[0]}&error_detail={e.args[0]}&source=social_create_user"
            )
        try:
            user = strategy.create_user(email=user_email, first_name=user_name, password=None)
        except Exception as e:
            capture_exception(e)
            message = "Account unable to be created. This account may already exist. Please try again"
            " or use different credentials."
            return redirect(f"/signup/{invite_id}?error_code=unknown&error_detail={message}&source=social_create_user")
        invite.use(user, prevalidated=True)
    report_user_signed_up(
        distinct_id=user.distinct_id,
        is_instance_first_user=User.objects.count() == 1,
        is_organization_first_user=not from_invite,
        new_onboarding_enabled=False,
        backend_processor=backend_processor,
        social_provider=backend.name,
    )
    return {"is_new": True, "user": user}