def get_context_data(self, **kwargs): service = self.request.GET.get('service') ticket = self.request.GET.get('ticket') pgturl = self.request.GET.get('pgtUrl') renew = to_bool(self.request.GET.get('renew')) st, pgt, error = validate_service_ticket(service, ticket, pgturl, renew) 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 = 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): service = self.request.GET.get('service') ticket = self.request.GET.get('ticket') pgturl = self.request.GET.get('pgtUrl') renew = to_bool(self.request.GET.get('renew')) st, pgt, error = validate_service_ticket(service, ticket, pgturl, renew) 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): service = self.request.GET.get('service') ticket = self.request.GET.get('ticket') pgturl = self.request.GET.get('pgtUrl') renew = to_bool(self.request.GET.get('renew')) if not ticket or ticket.startswith(ProxyTicket.TICKET_PREFIX): # If no ticket parameter is present, attempt to validate it # anyway so the appropriate error is raised t, pgt, proxies, error = validate_proxy_ticket(service, ticket, pgturl) else: t, pgt, error = validate_service_ticket(service, ticket, pgturl, renew) proxies = None attributes = get_attributes(t.user, t.service) if t else None return {'ticket': t, 'pgt': pgt, 'proxies': proxies, 'error': error, 'attributes': attributes}
def get_context_data(self, **kwargs): service = self.request.GET.get('service') ticket = self.request.GET.get('ticket') pgturl = self.request.GET.get('pgtUrl') renew = to_bool(self.request.GET.get('renew')) if not ticket or ticket.startswith(ProxyTicket.TICKET_PREFIX): # If no ticket parameter is present, attempt to validate it # anyway so the appropriate error is raised t, pgt, proxies, error = validate_proxy_ticket( service, ticket, pgturl) else: t, pgt, error = validate_service_ticket(service, ticket, pgturl, renew) proxies = None attributes = get_attributes(t.user, t.service) if t else None return { 'ticket': t, 'pgt': pgt, 'proxies': proxies, '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 = 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 }