diff --git a/mellon/app_settings.py b/mellon/app_settings.py
index aeeab73..b948a2f 100644
--- a/mellon/app_settings.py
+++ b/mellon/app_settings.py
@@ -13,6 +13,7 @@ class AppSettings(object):
'NAME_ID_POLICY_FORMAT': None,
'NAME_ID_POLICY_ALLOW_CREATE': True,
'FORCE_AUTHN': False,
+ 'ADD_AUTHNREQUEST_NEXT_URL_EXTENSION': False,
'ADAPTER': (
'mellon.adapters.DefaultAdapter',
),
diff --git a/mellon/views.py b/mellon/views.py
index 2ecb0b3..a7778d7 100644
--- a/mellon/views.py
+++ b/mellon/views.py
@@ -363,14 +363,15 @@ class LoginView(ProfileMixin, LogMixin, View):
authn_request.requestedAuthnContext = req_authncontext
req_authncontext.authnContextClassRef = authn_classref
- authn_request.extensions = lasso.Samlp2Extensions()
- authn_request.extensions.setOriginalXmlnode(
- '''
- %s
- ''' %
- escape(request.build_absolute_uri(next_url or '/')))
+ if utils.get_setting(idp, 'ADD_AUTHNREQUEST_NEXT_URL_EXTENSION'):
+ authn_request.extensions = lasso.Samlp2Extensions()
+ authn_request.extensions.setOriginalXmlnode(
+ '''
+ %s
+ ''' %
+ escape(request.build_absolute_uri(next_url or '/')))
self.set_next_url(next_url)
login.buildAuthnRequestMsg()
except lasso.Error as e: