Thanks to visit codestin.com
Credit goes to github.com

Skip to content

The Atlassian Backend is broken #517

@h4ck3rk3y

Description

@h4ck3rk3y

return {'username': response['name'],

The name key doesn't always exist. We are running with the following configuration

SOCIAL_AUTH_ATLASSIAN_KEY = os.environ.get("SOCIAL_AUTH_ATLASSIAN_KEY")
SOCIAL_AUTH_ATLASSIAN_SECRET = os.environ.get("SOCIAL_AUTH_ATLASSIAN_SECRET")
SOCIAL_AUTH_ATLASSIAN_SCOPE = ['read:jira-work', 'read:jira-user',
                               'read:confluence-content.summary', 'search:confluence']

The OAuth loop fails with

Traceback (most recent call last):
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/gunicorn/workers/sync.py", line 134, in handle
    self.handle_request(listener, req, client, addr)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/gunicorn/workers/sync.py", line 175, in handle_request
    respiter = self.wsgi(environ, resp.start_response)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/router.py", line 270, in __call__
    response = self.execution_policy(environ, self)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/router.py", line 279, in default_execution_policy
    return request.invoke_exception_view(reraise=True)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/view.py", line 778, in invoke_exception_view
    reraise_(*exc_info)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/compat.py", line 179, in reraise
    raise value
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/router.py", line 277, in default_execution_policy
    return router.invoke_request(request)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/router.py", line 249, in invoke_request
    response = handle_request(request)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid_debugtoolbar/toolbar.py", line 231, in toolbar_tween
    return handler(request)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid_tm/__init__.py", line 178, in tm_tween
    reraise(*exc_info)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid_tm/compat.py", line 36, in reraise
    raise value
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid_tm/__init__.py", line 143, in tm_tween
    response = handler(request)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/tweens.py", line 43, in excview_tween
    response = _error_handler(request, exc)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/tweens.py", line 17, in _error_handler
    reraise(*exc_info)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/compat.py", line 179, in reraise
    raise value
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/tweens.py", line 41, in excview_tween
    response = handler(request)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/router.py", line 148, in handle_request
    registry, request, context, context_iface, view_name
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/view.py", line 667, in _call_view
    response = view_callable(context, request)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/config/views.py", line 188, in attr_view
    return view(context, request)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/config/views.py", line 214, in predicate_wrapper
    return view(context, request)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/viewderivers.py", line 401, in viewresult_to_response
    result = view(context, request)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/pyramid/viewderivers.py", line 144, in _requestonly_view
    response = view(request)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_pyramid/utils.py", line 51, in wrapper
    return func(request, *args, **kwargs)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_pyramid/views.py", line 20, in complete
    redirect_name='next', *args, **kwargs)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_core/actions.py", line 45, in do_complete
    user = backend.complete(user=user, *args, **kwargs)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_core/backends/base.py", line 40, in complete
    return self.auth_complete(*args, **kwargs)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_core/utils.py", line 251, in wrapper
    return func(*args, **kwargs)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_core/backends/oauth.py", line 405, in auth_complete
    *args, **kwargs)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_core/utils.py", line 251, in wrapper
    return func(*args, **kwargs)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_core/backends/oauth.py", line 416, in do_auth
    return self.strategy.authenticate(*args, **kwargs)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_core/strategy.py", line 160, in authenticate
    return backend.authenticate(*args, **kwargs)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_core/backends/base.py", line 80, in authenticate
    return self.pipeline(pipeline, *args, **kwargs)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_core/backends/base.py", line 83, in pipeline
    out = self.run_pipeline(pipeline, pipeline_index, *args, **kwargs)
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_core/backends/base.py", line 113, in run_pipeline
    result = func(*args, **out) or {}
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_core/pipeline/social_auth.py", line 5, in social_details
    return {'details': dict(backend.get_user_details(response), **details)}
  File "/Users/gyani/.local/share/virtualenvs/fetchBackend-_yZrzRW0/lib/python3.7/site-packages/social_core/backends/atlassian.py", line 26, in get_user_details
    return {'username': response['name'],
KeyError: 'name'
[2020-10-25 22:52:33 +0400] [94171] [INFO] Handling signal: winch

I tweaked Atlassian.py to print the response and it seems like it doesn't contain name at the root level. It contains all the other keys though.

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleStale issues (closing soon)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions