## 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
if value is not None:
            password_validation.validate_password(value)
        return value
    def create(self, validated_data, **kwargs):
        is_instance_first_user: bool = not User.objects.exists()
        organization_name = validated_data.pop("organization_name", validated_data["first_name"])
        self._organization, self._team, self._user = User.objects.bootstrap(
            organization_name=organization_name, create_team=self.create_team, **validated_data,
        )
        user = self._user
        
        if self.enable_new_onboarding(user):
            self._organization.setup_section_2_completed = False
            self._organization.save()
        login(
            self.context["request"], user, backend="django.contrib.auth.backends.ModelBackend",
        )
        report_user_signed_up(
            user.distinct_id,
            is_instance_first_user=is_instance_first_user,
            is_organization_first_user=True,
            new_onboarding_enabled=(not self._organization.setup_section_2_completed),
            backend_processor="OrganizationSignupSerializer",
        )
        return user
    def create_team(self, organization: Organization, user: User) -> Team: