## Is your feature request related to a problem?

We manage around 20 3rd party tools that our internal users can log into using G Suite (part of your enterprise / scale offering). When a user leaves, we need to disable their account. Currently we need to do this in G Suite and then any of the 3rd party tools where password login is still possible.

## Describe the solution you'd like

When a user leaves, we disable their account in G Suite and their account in PostHog becomes disabled too. Essentially, the ability to restrict specific users in PostHog to only be able to login via SSO (defaulting to this setting).

## Describe alternatives you've considered

Manually removing their account, and being the enemy of our IT manager.

## Additional context



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

posthog/api/test/test_authentication.py
invalid_passwords = ["1234", "abcdefgh", "testpassword1234", "😈😈😈"]
        for password in invalid_passwords:
            response = self.client.post("/api/login", {"email": self.CONFIG_EMAIL, "password": password})
            self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
            self.assertEqual(response.json(), self.ERROR_INVALID_CREDENTIALS)
            # Assert 
            response = self.client.get("/api/users/@me/")
            self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
            self.assertNotIn("email", response.json())
        # Events 
        mock_capture.assert_not_called()
    @patch("posthoganalytics.capture")
    def test_user_cant_login_with_incorrect_email(self, mock_capture):
        response = self.client.post("/api/login", {"email": "user2@posthog.com", "password": self.CONFIG_PASSWORD})
        self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
        self.assertEqual(response.json(), self.ERROR_INVALID_CREDENTIALS)
        # Assert 
        response = self.client.get("/api/users/@me/")
        self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)
        self.assertNotIn("email", response.json())
        # Events 
        mock_capture.assert_not_called()
    def test_cant_login_without_required_attributes(self):