self-hosted icon indicating copy to clipboard operation
self-hosted copied to clipboard

After Upgrade unable to login with SSO

Open wtibbitts opened this issue 1 year ago • 7 comments

Environment

self-hosted (https://develop.sentry.dev/self-hosted/)

Steps to Reproduce

I deployed Sentry using the helm charts. After upgrading from 22, I can no longer login to the webapp.

Expected Result

To be able to login to webapp

Actual Result

Unable to log in with the logs showing:

20:35:23 [INFO] sentry.access.api: api.access (method='GET' view='sentry.api.endpoints.relay.health_check.RelayHealthCheck' response=200 user_id='None' is_app='None' token_type='None' is_frontend_request='False' organization_id='None' auth_id='None' path='/api/0/relays/live/' caller_ip='10.99.4.114' user_agent='None' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.04931831359863281 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None') 20:35:23 [INFO] sentry.access.api: api.access (method='POST' view='sentry.api.endpoints.relay.project_configs.RelayProjectConfigsEndpoint' response=200 user_id='None' is_app='None' token_type='None' is_frontend_request='False' organization_id='None' auth_id='None' path='/api/0/relays/projectconfigs/' caller_ip='10.99.4.114' user_agent='None' rate_limited='False' rate_limit_category='None' request_duration_seconds=0.017374515533447266 rate_limit_type='DNE' concurrent_limit='None' concurrent_requests='None' reset_time='None' group='None' limit='None' remaining='None') Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/sentry/api/serializers/base.py", line 109, in _serialize return self.serialize(obj, attrs, user, **kwargs) File "/usr/local/lib/python3.8/site-packages/sentry/api/serializers/models/user.py", line 363, in serialize d = cast(DetailedSelfUserSerializerResponse, super().serialize(obj, attrs, user)) File "/usr/local/lib/python3.8/site-packages/sentry/api/serializers/models/user.py", line 233, in serialize d["identities"] = [ File "/usr/local/lib/python3.8/site-packages/sentry/api/serializers/models/user.py", line 238, in "slug": orgs_by_id[i.auth_provider.organization_id].slug, KeyError: 1 20:35:29 [ERROR] sentry.api.serializers.base: Failed to serialize (instance=<User at 0x7f34a22fb4f0: id=1>) Traceback (most recent call last): File "/usr/local/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner response = get_response(request) File "/usr/local/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/usr/local/lib/python3.8/site-packages/sentry/../sentry_sdk/integrations/django/views.py", line 84, in sentry_wrapped_callback return callback(request, *args, **kwargs) File "/usr/local/lib/python3.8/site-packages/django/views/generic/base.py", line 70, in view return self.dispatch(request, *args, **kwargs) File "/usr/local/lib/python3.8/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view return view_func(*args, **kwargs) File "/usr/local/lib/python3.8/site-packages/sentry/web/frontend/base.py", line 409, in dispatch return self.handle(request, *args, **kwargs) File "/usr/local/lib/python3.8/site-packages/sentry/web/frontend/base.py", line 424, in handle return super().dispatch(request, *args, **kwargs) File "/usr/local/lib/python3.8/site-packages/django/views/generic/base.py", line 98, in dispatch return handler(request, *args, **kwargs) File "/usr/local/lib/python3.8/site-packages/sentry/web/frontend/home.py", line 9, in get return self.redirect_to_org(request) File "/usr/local/lib/python3.8/site-packages/sentry/web/frontend/base.py", line 293, in redirect_to_org return self.respond("sentry/no-organization-access.html", status=403) File "/usr/local/lib/python3.8/site-packages/sentry/web/frontend/base.py", line 483, in respond return render_to_response(template, default_context, self.request, status=status) File "/usr/local/lib/python3.8/site-packages/sentry/web/helpers.py", line 42, in render_to_response response = HttpResponse(render_to_string(template, context, request)) File "/usr/local/lib/python3.8/site-packages/sentry/web/helpers.py", line 29, in render_to_string rendered = loader.render_to_string(template, context=context, request=request) File "/usr/local/lib/python3.8/site-packages/django/template/loader.py", line 62, in render_to_string return template.render(context, request) File "/usr/local/lib/python3.8/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 170, in render return self._render(context) File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 162, in _render return self.nodelist.render(context) File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render return compiled_parent._render(context) File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 162, in _render return self.nodelist.render(context) File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py", line 150, in render return compiled_parent._render(context) File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 162, in _render return self.nodelist.render(context) File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/usr/local/lib/python3.8/site-packages/django/template/loader_tags.py", line 62, in render result = block.nodelist.render(context) File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/usr/local/lib/python3.8/site-packages/sentry/templatetags/sentry_assets.py", line 90, in render content = self.nodelist.render(context).strip() File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 938, in render bit = node.render_annotated(context) File "/usr/local/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated return self.render(context) File "/usr/local/lib/python3.8/site-packages/django/template/library.py", line 192, in render output = self.func(*resolved_args, **resolved_kwargs) File "/usr/local/lib/python3.8/site-packages/sentry/templatetags/sentry_react.py", line 11, in get_react_config context = get_client_config(context.get("request", None), context.get("org_context")) File "/usr/local/lib/python3.8/site-packages/sentry/web/client_config.py", line 362, in get_client_config return config.get_context() File "/usr/local/lib/python3.8/site-packages/sentry/web/client_config.py", line 349, in get_context "user": self.user_details, File "/usr/local/lib/python3.8/functools.py", line 967, in get val = self.func(instance) File "/usr/local/lib/python3.8/site-packages/sentry/web/client_config.py", line 270, in user_details user_details["isSuperuser"] = self.user.is_superuser TypeError: 'NoneType' object does not support item assignment

Product Area

Sign In

Link

No response

DSN

No response

Version

23.11.2

wtibbitts avatar Jan 31 '24 21:01 wtibbitts

Assigning to @getsentry/support for routing ⏲️

getsantry[bot] avatar Jan 31 '24 21:01 getsantry[bot]

Sign-in is using Google SSO which I cannot find how to disable via configs.

wtibbitts avatar Jan 31 '24 21:01 wtibbitts

We have the same issue.

dersphere avatar Feb 04 '24 09:02 dersphere

Maybe related https://github.com/getsentry/self-hosted/issues/2750

stumbaumr avatar Feb 05 '24 09:02 stumbaumr

Using the helm charts? If you mean via sentry kubernetes, this is an explicitly unsupported workflow. We only provide support when using the docker-compose based setup described in this repository.

azaslavsky avatar Feb 05 '24 23:02 azaslavsky

Using the helm charts? If you mean via sentry kubernetes, this is an explicitly unsupported workflow. We only provide support when using the docker-compose based setup described in this repository.

I can't speak for the OP but we did follow the official documentation and have the exact same issue as OP. What we did:

  • Have sentry self hosted version 21.12.0 with the docker-compose setup and Google SSO enabled
  • Update to 23.6.2 as described as hard stop by updating the repo, running the install.sh script
  • login impossible We then updated to the most recent version (24.1.1) but the issue is still present.

dersphere avatar Feb 06 '24 12:02 dersphere

Adding the entry to sentry_organizationmapping from 2750 did help get past this issue

wtibbitts avatar Feb 06 '24 15:02 wtibbitts

This issue has gone three weeks without activity. In another week, I will close it.

But! If you comment or otherwise update it, I will reset the clock, and if you remove the label Waiting for: Community, I will leave it alone ... forever!


"A weed is but an unloved flower." ― Ella Wheeler Wilcox 🥀

getsantry[bot] avatar Feb 29 '24 08:02 getsantry[bot]