Skip to content

Commit 52098c8

Browse files
committed
chore(auth): Clean up identity linking quick inc fix
1 parent 2900817 commit 52098c8

File tree

3 files changed

+1
-81
lines changed

3 files changed

+1
-81
lines changed

src/sentry/options/defaults.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3520,13 +3520,6 @@
35203520
flags=FLAG_AUTOMATOR_MODIFIABLE,
35213521
)
35223522

3523-
# Killswitch for linking identities for demo users
3524-
register(
3525-
"identity.prevent-link-identity-for-demo-users.enabled",
3526-
type=Bool,
3527-
default=False,
3528-
flags=FLAG_AUTOMATOR_MODIFIABLE,
3529-
)
35303523

35313524
register(
35323525
"sentry.send_onboarding_task_metrics",

src/sentry/users/models/identity.py

Lines changed: 1 addition & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
from django.db.models import Q, QuerySet
1111
from django.utils import timezone
1212

13-
from sentry import analytics, options
13+
from sentry import analytics
1414
from sentry.backup.scopes import RelocationScope
1515
from sentry.db.models import (
1616
BoundedPositiveIntegerField,
@@ -19,7 +19,6 @@
1919
control_silo_model,
2020
)
2121
from sentry.db.models.manager.base import BaseManager
22-
from sentry.demo_mode.utils import is_demo_user
2322
from sentry.integrations.types import ExternalProviders, IntegrationProviderSlug
2423
from sentry.users.services.user import RpcUser
2524

@@ -90,17 +89,6 @@ def link_identity(
9089
the case where the user is linked to a different identity or the
9190
identity is linked to a different user.
9291
"""
93-
# NOTE(vgrozdanic): temporary fix for #inc-1373 to stop the bleed
94-
if is_demo_user(user) and options.get(
95-
"identity.prevent-link-identity-for-demo-users.enabled"
96-
):
97-
logger.warning(
98-
"Preventing link identity for demo user",
99-
extra={"user_id": user.id, "idp_id": idp.id, "external_id": external_id},
100-
stack_info=True,
101-
)
102-
return None
103-
10492
from sentry.integrations.slack.analytics import SlackIntegrationIdentityLinked
10593

10694
defaults = {
@@ -146,17 +134,6 @@ def create_identity(
146134
user: User | RpcUser,
147135
defaults: Mapping[str, Any],
148136
) -> Identity | None:
149-
# NOTE(vgrozdanic): temporary fix for #inc-1373 to stop the bleed
150-
if is_demo_user(user) and options.get(
151-
"identity.prevent-link-identity-for-demo-users.enabled"
152-
):
153-
logger.warning(
154-
"Preventing creating identity for demo user",
155-
extra={"user_id": user.id, "idp_id": idp.id, "external_id": external_id},
156-
stack_info=True,
157-
)
158-
return None
159-
160137
identity_model = self.create(
161138
idp_id=idp.id, user_id=user.id, external_id=external_id, **defaults
162139
)
@@ -182,16 +159,6 @@ def reattach(
182159
Removes identities under `idp` associated with either `external_id` or `user`
183160
and creates a new identity linking them.
184161
"""
185-
if is_demo_user(user) and options.get(
186-
"identity.prevent-link-identity-for-demo-users.enabled"
187-
):
188-
logger.warning(
189-
"Preventing reattaching identity for demo user",
190-
extra={"user_id": user.id, "idp_id": idp.id, "external_id": external_id},
191-
stack_info=True,
192-
)
193-
return None
194-
195162
self.delete_identity(user=user, idp=idp, external_id=external_id)
196163
return self.create_identity(user=user, idp=idp, external_id=external_id, defaults=defaults)
197164

@@ -206,17 +173,6 @@ def update_external_id_and_defaults(
206173
Updates the identity object for a given user and identity provider
207174
with the new external id and other fields related to the identity status
208175
"""
209-
# NOTE(vgrozdanic): temporary fix for #inc-1373 to stop the bleed
210-
if is_demo_user(user) and options.get(
211-
"identity.prevent-link-identity-for-demo-users.enabled"
212-
):
213-
logger.warning(
214-
"Preventing updating identity for demo user",
215-
extra={"user_id": user.id, "idp_id": idp.id, "external_id": external_id},
216-
stack_info=True,
217-
)
218-
return None
219-
220176
query = self.filter(user_id=user.id, idp=idp)
221177
query.update(external_id=external_id, **defaults)
222178
identity_model = query.get()
Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
from sentry.identity import register
22
from sentry.identity.providers.dummy import DummyProvider
33
from sentry.testutils.cases import TestCase
4-
from sentry.testutils.helpers import override_options
54
from sentry.testutils.silo import control_silo_test
6-
from sentry.users.models.identity import Identity
75

86

97
@control_silo_test
@@ -21,30 +19,3 @@ def test_get_provider(self) -> None:
2119
provider = identity_model.get_provider()
2220
assert provider.name == "Dummy"
2321
assert provider.key == "dummy"
24-
25-
def test_link_identity_for_demo_users(self) -> None:
26-
user = self.create_user()
27-
idp = self.create_identity_provider(type="dummy", external_id="1234")
28-
29-
# if the setting is disabled, the identity should be linked even for demo users
30-
with override_options({"demo-mode.enabled": True, "demo-mode.users": [user.id]}):
31-
assert Identity.objects.link_identity(user, idp, "1234") is not None
32-
33-
# if the setting is enabled, the identity should not be linked for demo users
34-
with override_options(
35-
{
36-
"identity.prevent-link-identity-for-demo-users.enabled": True,
37-
"demo-mode.enabled": True,
38-
"demo-mode.users": [user.id],
39-
}
40-
):
41-
assert Identity.objects.link_identity(user, idp, "1234") is None
42-
43-
# if the setting is enabled, the identity should still be linked for non-demo users
44-
with override_options(
45-
{
46-
"identity.prevent-link-identity-for-demo-users.enabled": True,
47-
"demo-mode.enabled": True,
48-
}
49-
):
50-
assert Identity.objects.link_identity(user, idp, "1234") is not None

0 commit comments

Comments
 (0)