## 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!

ee/api/test/test_authentication.py
_session.save()
        f = open(os.path.join(CURRENT_FOLDER, "fixtures/saml_login_response"), "r")
        saml_response = f.read()
        f.close()
        user_count = User.objects.count()
        with self.settings(**MOCK_SETTINGS):
            response = self.client.post(
                "/complete/saml/",
                {"SAMLResponse": saml_response, "RelayState": "posthog_custom",},
                format="multipart",
                follow=True,
            )
        self.assertEqual(response.status_code, status.HTTP_200_OK)  
        self.assertRedirects(response, "/")  
        
        self.assertEqual(User.objects.count(), user_count + 1)
        user = cast(User, User.objects.last())
        self.assertEqual(user.first_name, "PostHog")
        self.assertEqual(user.email, "engineering@posthog.com")
        self.assertEqual(user.organization, self.organization)
        self.assertEqual(user.team, self.team)
        self.assertEqual(user.organization_memberships.count(), 1)
        self.assertEqual(
            cast(OrganizationMembership, user.organization_memberships.first()).level,
            OrganizationMembership.Level.MEMBER,
        )
        _session = self.client.session
        self.assertEqual(_session.get("_auth_user_id"), str(user.pk))
    @freeze_time("2021-08-25T22:09:14.252Z")
    def test_cannot_signup_on_non_whitelisted_domain_with_saml(self):