@@ -359,7 +359,7 @@ def get_audiences(self):
359359 :rtype: list
360360 """
361361 audience_nodes = self .__query_assertion ('/saml:Conditions/saml:AudienceRestriction/saml:Audience' )
362- return [node . text for node in audience_nodes if node . text is not None ]
362+ return [OneLogin_Saml2_XML . element_text ( node ) for node in audience_nodes if OneLogin_Saml2_XML . element_text ( node ) is not None ]
363363
364364 def get_issuers (self ):
365365 """
@@ -373,7 +373,9 @@ def get_issuers(self):
373373 message_issuer_nodes = OneLogin_Saml2_XML .query (self .document , '/samlp:Response/saml:Issuer' )
374374 if len (message_issuer_nodes ) > 0 :
375375 if len (message_issuer_nodes ) == 1 :
376- issuers .add (message_issuer_nodes [0 ].text )
376+ issuer_value = OneLogin_Saml2_XML .element_text (message_issuer_nodes [0 ])
377+ if issuer_value :
378+ issuers .add (issuer_value )
377379 else :
378380 raise OneLogin_Saml2_ValidationError (
379381 'Issuer of the Response is multiple.' ,
@@ -382,7 +384,9 @@ def get_issuers(self):
382384
383385 assertion_issuer_nodes = self .__query_assertion ('/saml:Issuer' )
384386 if len (assertion_issuer_nodes ) == 1 :
385- issuers .add (assertion_issuer_nodes [0 ].text )
387+ issuer_value = OneLogin_Saml2_XML .element_text (assertion_issuer_nodes [0 ])
388+ if issuer_value :
389+ issuers .add (issuer_value )
386390 else :
387391 raise OneLogin_Saml2_ValidationError (
388392 'Issuer of the Assertion not found or multiple.' ,
@@ -420,13 +424,13 @@ def get_nameid_data(self):
420424 OneLogin_Saml2_ValidationError .NO_NAMEID
421425 )
422426 else :
423- if is_strict and want_nameid and not nameid . text :
427+ if is_strict and want_nameid and not OneLogin_Saml2_XML . element_text ( nameid ) :
424428 raise OneLogin_Saml2_ValidationError (
425429 'An empty NameID value found' ,
426430 OneLogin_Saml2_ValidationError .EMPTY_NAMEID
427431 )
428432
429- nameid_data = {'Value' : nameid . text }
433+ nameid_data = {'Value' : OneLogin_Saml2_XML . element_text ( nameid ) }
430434 for attr in ['Format' , 'SPNameQualifier' , 'NameQualifier' ]:
431435 value = nameid .get (attr , None )
432436 if value :
@@ -521,7 +525,12 @@ def get_attributes(self):
521525
522526 values = []
523527 for attr in attribute_node .iterchildren ('{%s}AttributeValue' % OneLogin_Saml2_Constants .NSMAP ['saml' ]):
524- values .append (attr .text )
528+ attr_text = OneLogin_Saml2_XML .element_text (attr )
529+ if attr_text :
530+ attr_text = attr_text .strip ()
531+ if attr_text :
532+ values .append (attr_text )
533+
525534 attributes [attr_name ] = values
526535 return attributes
527536
0 commit comments