grafana/oncall

Slack URL verification fails

Closed this issue · 1 comments

What went wrong?

What happened:

  • When trying to vaildate the slack URL settings.event_subscriptions.request_url, the validation fails

Error from logs:

2024-04-20 18:29:16 source=engine:app google_trace_id=none logger=apps.social_auth.middlewares SocialAuthAuthCanceledExceptionMiddleware.process_exception: descriptor 'encode' for 'str' objects doesn't apply to a 'NoneType' object
2024-04-20 18:29:16 source=engine:app google_trace_id=none logger=django.request Internal Server Error: /slack/event_api_endpoint/
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view
    return view_func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
    return self.dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 509, in dispatch
    response = self.handle_exception(exc)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
    raise exc
  File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/etc/app/apps/slack/views.py", line 111, in post
    SlackEventApiEndpointView.verify_signature(
  File "/etc/app/apps/slack/views.py", line 89, in verify_signature
    request_hash = "v0=" + hmac.new(str.encode(secret), req, hashlib.sha256).hexdigest()
                                    ^^^^^^^^^^^^^^^^^^
TypeError: descriptor 'encode' for 'str' objects doesn't apply to a 'NoneType' object
2024-04-20 18:29:16 source=engine:app google_trace_id=none logger=root inbound latency=0.051651 status=500 method=POST path=/slack/event_api_endpoint/ user_agent=Slackbot 1.0 (+https://api.slack.com/robots) content-length=453 slow=0 
2024-04-20 18:29:16 source=engine:uwsgi status=500 method=POST path=/slack/event_api_endpoint/ latency=0.052791 google_trace_id=- protocol=HTTP/1.1 resp_size=428 req_body_size=453
2024-04-20 18:29:16 source=engine:app google_trace_id=none logger=apps.slack.views Request id: f065204f-1ff5-4b62-9f52-7aa94cb15d98
2024-04-20 18:29:16 source=engine:app google_trace_id=none logger=apps.social_auth.middlewares SocialAuthAuthCanceledExceptionMiddleware.process_exception: descriptor 'encode' for 'str' objects doesn't apply to a 'NoneType' object
2024-04-20 18:29:16 source=engine:app google_trace_id=none logger=django.request Internal Server Error: /slack/event_api_endpoint/
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
    response = get_response(request)
               ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view
    return view_func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
    return self.dispatch(request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 509, in dispatch
    response = self.handle_exception(exc)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 469, in handle_exception
    self.raise_uncaught_exception(exc)
  File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
    raise exc
  File "/usr/local/lib/python3.11/site-packages/rest_framework/views.py", line 506, in dispatch
    response = handler(request, *args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/etc/app/apps/slack/views.py", line 111, in post
    SlackEventApiEndpointView.verify_signature(
  File "/etc/app/apps/slack/views.py", line 89, in verify_signature
    request_hash = "v0=" + hmac.new(str.encode(secret), req, hashlib.sha256).hexdigest()
                                    ^^^^^^^^^^^^^^^^^^
TypeError: descriptor 'encode' for 'str' objects doesn't apply to a 'NoneType' object
2024-04-20 18:29:16 source=engine:app google_trace_id=none logger=root inbound latency=0.055494 status=500 method=POST path=/slack/event_api_endpoint/ user_agent=Slackbot 1.0 (+https://api.slack.com/robots) content-length=453 slow=0 

What did you expect to happen:

  • Validation successful

How do we reproduce it?

  1. Create a new app in slack
  2. Try to validate the event subscriptions request URL

Grafana OnCall Version

v1.4.3

Product Area

Chatops

Grafana OnCall Platform?

Kubernetes

User's Browser?

No response

Anything else to add?

No response

Closing this. I had to click the "Reset to defaults" in Env Variables