2
Functions for creating XML output.
6
from xml_signing import get_signature_xml
7
from xml_templates import ASSERTION_GOOGLE_APPS, ASSERTION_SALESFORCE, RESPONSE
9
def _get_assertion_xml(template, parameters, signed=False):
12
params.update(parameters)
13
params['ASSERTION_SIGNATURE'] = ''
14
template = string.Template(template)
16
unsigned = template.substitute(params)
17
logging.debug('Unsigned:')
18
logging.debug(unsigned)
23
signature_xml = get_signature_xml(unsigned, params['ASSERTION_ID'])
24
params['ASSERTION_SIGNATURE'] = signature_xml
25
signed = template.substitute(params)
27
logging.debug('Signed:')
31
def get_assertion_googleapps_xml(parameters, signed=False):
32
return _get_assertion_xml(ASSERTION_GOOGLE_APPS, parameters, signed)
34
def get_assertion_salesforce_xml(parameters, signed=False):
35
return _get_assertion_xml(ASSERTION_SALESFORCE, parameters, signed)
37
def get_response_xml(parameters, signed=False):
39
Returns XML for response, with signatures, if signed is True.
43
params.update(parameters)
44
params['RESPONSE_SIGNATURE'] = ''
46
template = string.Template(RESPONSE)
47
unsigned = template.substitute(params)
49
logging.debug('Unsigned:')
50
logging.debug(unsigned)
55
signature_xml = get_signature_xml(unsigned, params['RESPONSE_ID'])
56
params['RESPONSE_SIGNATURE'] = signature_xml
57
signed = template.substitute(params)
59
logging.debug('Signed:')