Расширение функциональности представления внешнего пакета в Django
Я хотел бы расширить функциональность определенного View во внешнем пакете который инициирует SSO аутентификацию с помощью SAML. пакет: https://github.com/zibasec/django-saml2-pro-auth
У меня есть служба, которая использует пакет и регистрирует пользователей из нескольких приложений, сейчас sso login работает, но я хотел бы расширить SsoView - представление пакета. чтобы я мог сохранить реферер, чтобы я знал, куда вернуться, когда я закончу аутентификацию
Полагаю, это происходит потому, что я вызываю представление из своего View и пространство имен моих урлов не совпадает с их - у них app_name действительно saml2_pro_auth.
Есть ли лучший способ расширить представление или решить эту проблему?
Заранее спасибо
Я пытался написать представление в представлениях моего приложения, которое использует SsoView, но оно выдает мне "saml2_pro_auth is not a registered namespace" ошибку django, когда оно пытается развернуть url.
Взгляд пакета
class SsoView(GenericSamlView):
http_method_names = ["get", "head"]
def get(self, request, *args, **kwargs):
# SP-SSO start request
auth = kwargs["saml_auth"]
req = kwargs["saml_req"]
return_to = req["get_data"].get(REDIRECT_FIELD_NAME, app_settings.SAML_REDIRECT) or "/"
saml_request = auth.login(return_to=return_to)
response = redirect(saml_request)
response.set_signed_cookie(
"sp_auth",
auth.get_last_request_id(),
salt="saml2_pro_auth.authnrequestid",
max_age=300,
secure=req["https"] == "on",
httponly=True,
samesite=None,
)
return response
моя попытка
class CustomSsoView(View):
def get(self, request, *args, **kwargs):
print(request.META)
SsoView.as_view()(request, *args, **kwargs)