[Python] django-allauth with steam

Discussão em 'Python' iniciado por Stack, Junho 1, 2025.

  1. Stack

    Stack Membro Participativo

    as describe in this issue on github, my login method which is working by the way, seems to throw an exception everytime it is used:

    Missing required parameter in response from https://steamcommunity.com/openid/login: ('http://specs.openid.net/auth/2.0', 'assoc_type')
    Traceback (most recent call last):
    File "/home/negstek/.cache/pypoetry/virtualenvs/django-all-auth-to-steam-83qxtO4Z-py3.11/lib/python3.11/site-packages/openid/message.py", line 481, in getArg
    return self.args[args_key]
    ~~~~~~~~~^^^^^^^^^^
    KeyError: ('http://specs.openid.net/auth/2.0', 'assoc_type')

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "/home/negstek/.cache/pypoetry/virtualenvs/django-all-auth-to-steam-83qxtO4Z-py3.11/lib/python3.11/site-packages/openid/consumer/consumer.py", line 1286, in _requestAssociation
    assoc = self._extractAssociation(response, assoc_session)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/negstek/.cache/pypoetry/virtualenvs/django-all-auth-to-steam-83qxtO4Z-py3.11/lib/python3.11/site-packages/openid/consumer/consumer.py", line 1402, in _extractAssociation
    assoc_type = assoc_response.getArg(OPENID_NS, 'assoc_type', no_default)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/negstek/.cache/pypoetry/virtualenvs/django-all-auth-to-steam-83qxtO4Z-py3.11/lib/python3.11/site-packages/openid/message.py", line 484, in getArg
    raise KeyError((namespace, key))
    KeyError: ('http://specs.openid.net/auth/2.0', 'assoc_type')


    assoc_type is misssing from steam respone. These are my app settings:

    INSTALLED_APPS = [
    ...
    # social providers
    "allauth.socialaccount.providers.openid",
    "allauth.socialaccount.providers.steam",
    ...
    ]
    MIDDLEWARE = [
    ...
    "allauth.account.middleware.AccountMiddleware", # social providers
    ...
    ]
    AUTHENTICATION_BACKENDS = (
    "allauth.account.auth_backends.AuthenticationBackend",
    "django.contrib.auth.backends.ModelBackend",
    )
    SOCIALACCOUNT_PROVIDERS = {
    "steam": {
    "APP": {
    "client_id": STEAM_SECRET_KEY,
    "secret": STEAM_SECRET_KEY,
    }
    },
    }


    Did I miss something in my implementation ? Is there a way to avoid the raising of this exception ?

    Continue reading...

Compartilhe esta Página