misc: include target URL in AuthnRequest Extensions node (#18452)

This commit is contained in:
Frédéric Péters 2017-09-05 13:37:09 +02:00
parent 2c58690f73
commit 646132c661
1 changed files with 10 additions and 0 deletions

View File

@ -3,6 +3,7 @@ import requests
import lasso import lasso
import uuid import uuid
from requests.exceptions import RequestException from requests.exceptions import RequestException
from xml.sax.saxutils import escape
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.views.generic import View from django.views.generic import View
@ -360,6 +361,15 @@ class LoginView(ProfileMixin, LogMixin, View):
req_authncontext = lasso.Samlp2RequestedAuthnContext() req_authncontext = lasso.Samlp2RequestedAuthnContext()
authn_request.requestedAuthnContext = req_authncontext authn_request.requestedAuthnContext = req_authncontext
req_authncontext.authnContextClassRef = authn_classref req_authncontext.authnContextClassRef = authn_classref
authn_request.extensions = lasso.Samlp2Extensions()
authn_request.extensions.setOriginalXmlnode(
'''<samlp:Extensions
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:eo="https://www.entrouvert.com/">
<eo:next_url>%s</eo:next_url>
</samlp:Extensions>''' %
escape(request.build_absolute_uri(next_url or '/')))
self.set_next_url(next_url) self.set_next_url(next_url)
login.buildAuthnRequestMsg() login.buildAuthnRequestMsg()
except lasso.Error, e: except lasso.Error, e: