def validate_service_ticket(service, ticket, pgturl=None, renew=False, require_https=False):
    """
    Validate a service ticket string. Return a triplet containing a
    ``ServiceTicket`` and an optional ``ProxyGrantingTicket``, or a
    ``ValidationError`` if ticket validation failed.
    """
    logger.debug("Service validation request received for %s" % ticket)

    # Check for proxy tickets passed to /serviceValidate
    if ticket and ticket.startswith(ProxyTicket.TICKET_PREFIX):
        raise InvalidTicketSpec('Proxy tickets cannot be validated with /serviceValidate')

    st = ServiceTicket.objects.validate_ticket(ticket, service, renew=renew, require_https=require_https)
    attributes = get_attributes(st.user, st.service)

    if pgturl is not None:
        logger.debug("Proxy-granting ticket request received for %s" % pgturl)
        pgt = ProxyGrantingTicket.objects.create_ticket(service, pgturl, user=st.user, granted_by_st=st)
    else:
        pgt = None
    return st, attributes, pgt
def validate_service_ticket ( service , ticket , pgturl = None , renew = False , require_https = False ) : logger . debug ( "Service validation request received for %s" % ticket ) if ticket and ticket . startswith ( ProxyTicket . TICKET_PREFIX ) : raise InvalidTicketSpec ( 'Proxy tickets cannot be validated with /serviceValidate' ) st = ServiceTicket . objects . validate_ticket ( ticket , service , renew = renew , require_https = require_https ) attributes = get_attributes ( st . user , st . service ) if pgturl is not None : logger . debug ( "Proxy-granting ticket request received for %s" % pgturl ) pgt = ProxyGrantingTicket . objects . create_ticket ( service , pgturl , user = st . user , granted_by_st = st ) else : pgt = None return st , attributes , pgt
Validate a service ticket string. Return a triplet containing a
    ``ServiceTicket`` and an optional ``ProxyGrantingTicket``, or a
    ``ValidationError`` if ticket validation failed.