@@ -306,6 +306,11 @@ def create_authn_request(self, destination, vorg="", scoping=None,
306306                    pass 
307307            args ["name_id_policy" ] =  name_id_policy 
308308
309+         try :
310+             nsprefix  =  kwargs ["nsprefix" ]
311+         except  KeyError :
312+             nsprefix  =  None 
313+ 
309314        if  kwargs :
310315            _args , extensions  =  self ._filter_args (AuthnRequest (), extensions ,
311316                                                  ** kwargs )
@@ -328,11 +333,11 @@ def create_authn_request(self, destination, vorg="", scoping=None,
328333                return  self ._message (AuthnRequest , destination , message_id ,
329334                                     consent , extensions , sign , sign_prepare ,
330335                                     protocol_binding = binding ,
331-                                      scoping = scoping , ** args )
336+                                      scoping = scoping , nsprefix = nsprefix ,  ** args )
332337        return  self ._message (AuthnRequest , destination , message_id , consent ,
333338                             extensions , sign , sign_prepare ,
334339                             protocol_binding = binding ,
335-                              scoping = scoping , ** args )
340+                              scoping = scoping , nsprefix = nsprefix ,  ** args )
336341
337342    def  create_attribute_query (self , destination , name_id = None ,
338343                               attribute = None , message_id = 0 , consent = None ,
@@ -386,9 +391,14 @@ def create_attribute_query(self, destination, name_id=None,
386391        if  attribute :
387392            attribute  =  do_attributes (attribute )
388393
394+         try :
395+             nsprefix  =  kwargs ["nsprefix" ]
396+         except  KeyError :
397+             nsprefix  =  None 
398+ 
389399        return  self ._message (AttributeQuery , destination , message_id , consent ,
390400                             extensions , sign , sign_prepare , subject = subject ,
391-                              attribute = attribute )
401+                              attribute = attribute ,  nsprefix = nsprefix )
392402
393403    # MUST use SOAP for 
394404    # AssertionIDRequest, SubjectQuery, 
@@ -422,7 +432,7 @@ def create_authz_decision_query_using_assertion(self, destination,
422432                                                    subject = None , message_id = 0 ,
423433                                                    consent = None ,
424434                                                    extensions = None ,
425-                                                     sign = False ):
435+                                                     sign = False ,  nsprefix = None ):
426436        """ Makes an authz decision query based on a previously received 
427437        Assertion. 
428438
@@ -449,7 +459,7 @@ def create_authz_decision_query_using_assertion(self, destination,
449459        return  self .create_authz_decision_query (
450460            destination , _action , saml .Evidence (assertion = assertion ),
451461            resource , subject , message_id = message_id , consent = consent ,
452-             extensions = extensions , sign = sign )
462+             extensions = extensions , sign = sign ,  nsprefix = nsprefix )
453463
454464    @staticmethod  
455465    def  create_assertion_id_request (assertion_id_refs , ** kwargs ):
@@ -466,7 +476,7 @@ def create_assertion_id_request(assertion_id_refs, **kwargs):
466476
467477    def  create_authn_query (self , subject , destination = None , authn_context = None ,
468478                           session_index = "" , message_id = 0 , consent = None ,
469-                            extensions = None , sign = False ):
479+                            extensions = None , sign = False ,  nsprefix = None ):
470480        """ 
471481
472482        :param subject: The subject its all about as a <Subject> instance 
@@ -479,15 +489,18 @@ def create_authn_query(self, subject, destination=None, authn_context=None,
479489        :param sign: Whether the request should be signed or not. 
480490        :return: 
481491        """ 
482-         return  self ._message (AuthnQuery , destination , message_id , consent , extensions ,
483-                              sign , subject = subject , session_index = session_index ,
484-                              requested_authn_context = authn_context )
492+         return  self ._message (AuthnQuery , destination , message_id , consent ,
493+                              extensions , sign , subject = subject ,
494+                              session_index = session_index ,
495+                              requested_authn_context = authn_context ,
496+                              nsprefix = nsprefix )
485497
486498    def  create_name_id_mapping_request (self , name_id_policy ,
487499                                       name_id = None , base_id = None ,
488500                                       encrypted_id = None , destination = None ,
489-                                        message_id = 0 , consent = None , extensions = None ,
490-                                        sign = False ):
501+                                        message_id = 0 , consent = None ,
502+                                        extensions = None , sign = False ,
503+                                        nsprefix = None ):
491504        """ 
492505
493506        :param name_id_policy: 
@@ -508,16 +521,18 @@ def create_name_id_mapping_request(self, name_id_policy,
508521        if  name_id :
509522            return  self ._message (NameIDMappingRequest , destination , message_id ,
510523                                 consent , extensions , sign ,
511-                                  name_id_policy = name_id_policy , name_id = name_id )
524+                                  name_id_policy = name_id_policy , name_id = name_id ,
525+                                  nsprefix = nsprefix )
512526        elif  base_id :
513527            return  self ._message (NameIDMappingRequest , destination , message_id ,
514528                                 consent , extensions , sign ,
515-                                  name_id_policy = name_id_policy , base_id = base_id )
529+                                  name_id_policy = name_id_policy , base_id = base_id ,
530+                                  nsprefix = nsprefix )
516531        else :
517532            return  self ._message (NameIDMappingRequest , destination , message_id ,
518533                                 consent , extensions , sign ,
519534                                 name_id_policy = name_id_policy ,
520-                                  encrypted_id = encrypted_id )
535+                                  encrypted_id = encrypted_id ,  nsprefix = nsprefix )
521536
522537    # ======== response handling =========== 
523538
0 commit comments