Files
GNX-mailEnterprise/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/steam/views.py
Iliyan Angelov c67067a2a4 Mail
2025-09-14 23:24:25 +03:00

46 lines
1.1 KiB
Python

"""
OpenID Adapter for Steam
The Steam login API is simple OpenID but requires extra API calls
for basic resources such as usernames.
Resources:
* Steam Web API Documentation
https://steamcommunity.com/dev
* Steam Partner API documentation
https://partner.steamgames.com/doc/features/auth#website
"""
from django.urls import reverse
from allauth.socialaccount.providers.openid.views import (
OpenIDCallbackView,
OpenIDLoginView,
)
from .provider import SteamOpenIDProvider
STEAM_OPENID_URL = "https://steamcommunity.com/openid"
class SteamOpenIDLoginView(OpenIDLoginView):
provider = SteamOpenIDProvider
def get_form(self):
items = dict(list(self.request.GET.items()) + list(self.request.POST.items()))
items["openid"] = STEAM_OPENID_URL
return self.form_class(items)
def get_callback_url(self):
return reverse(steam_callback)
class SteamOpenIDCallbackView(OpenIDCallbackView):
provider = SteamOpenIDProvider
steam_login = SteamOpenIDLoginView.as_view()
steam_callback = SteamOpenIDCallbackView.as_view()