def get_context_data(self, **kwargs): target = self.request.GET.get('TARGET') assert defused_etree, '/samlValidate endpoint requires defusedxml to be installed' try: root = defused_etree.parse(self.request, forbid_dtd=True).getroot() ticket = root.find( './/{urn:oasis:names:tc:SAML:1.0:protocol}AssertionArtifact' ).text except (defused_etree.ParseError, ValueError, AttributeError): ticket = None try: st, attributes, pgt = validate_service_ticket(target, ticket, require_https=True) return { 'ticket': st, 'pgt': pgt, 'attributes': attributes, 'error': None } except ValidationError as e: logger.warning("%s %s" % (e.code, e)) return {'ticket': None, 'error': e}
def get_context_data(self, **kwargs): target = self.request.GET.get('TARGET') assert defused_etree, '/samlValidate endpoint requires defusedxml to be installed' try: root = defused_etree.parse(self.request, forbid_dtd=True).getroot() ticket = root.find('.//{urn:oasis:names:tc:SAML:1.0:protocol}AssertionArtifact').text except (defused_etree.ParseError, ValueError, AttributeError): ticket = None st, pgt, error = validate_service_ticket(target, ticket, None, require_https=True) attributes = get_attributes(st.user, st.service) if st else None return {'ticket': st, 'pgt': pgt, 'error': error, 'attributes': attributes}
def get_context_data(self, **kwargs): target = self.request.GET.get('TARGET') assert defused_etree, '/samlValidate endpoint requires defusedxml to be installed' try: root = defused_etree.parse(self.request, forbid_dtd=True).getroot() ticket = root.find('.//{urn:oasis:names:tc:SAML:1.0:protocol}AssertionArtifact').text except (defused_etree.ParseError, ValueError, AttributeError): ticket = None st, pgt, error = self.validate_service_ticket(target, ticket, None, renew=False, require_https=True) attributes = self.get_attributes(st.user, st.service) if st else None return {'ticket': st, 'pgt': pgt, 'error': error, 'attributes': attributes}