@@ -59,8 +59,7 @@ def __init__(self, settings, request=None, name_id=None, session_index=None, nq=
5959 idp_data = self .__settings .get_idp_data ()
6060 security = self .__settings .get_security_data ()
6161
62- uid = OneLogin_Saml2_Utils .generate_unique_id ()
63- self .id = uid
62+ self .id = self ._generate_request_id ()
6463
6564 issue_instant = OneLogin_Saml2_Utils .parse_time_to_SAML (OneLogin_Saml2_Utils .now ())
6665
@@ -108,7 +107,7 @@ def __init__(self, settings, request=None, name_id=None, session_index=None, nq=
108107
109108 logout_request = OneLogin_Saml2_Templates .LOGOUT_REQUEST % \
110109 {
111- 'id' : uid ,
110+ 'id' : self . id ,
112111 'issue_instant' : issue_instant ,
113112 'single_logout_url' : self .__settings .get_idp_slo_response_url (),
114113 'entity_id' : sp_data ['entityId' ],
@@ -144,8 +143,8 @@ def get_xml(self):
144143 """
145144 return self .__logout_request
146145
147- @staticmethod
148- def get_id (request ):
146+ @classmethod
147+ def get_id (cls , request ):
149148 """
150149 Returns the ID of the Logout Request
151150 :param request: Logout Request Message
@@ -157,8 +156,8 @@ def get_id(request):
157156 elem = OneLogin_Saml2_XML .to_etree (request )
158157 return elem .get ('ID' , None )
159158
160- @staticmethod
161- def get_nameid_data (request , key = None ):
159+ @classmethod
160+ def get_nameid_data (cls , request , key = None ):
162161 """
163162 Gets the NameID Data of the the Logout Request
164163 :param request: Logout Request Message
@@ -234,8 +233,8 @@ def get_nameid_format(cls, request, key=None):
234233 name_id_format = name_id_data ['Format' ]
235234 return name_id_format
236235
237- @staticmethod
238- def get_issuer (request ):
236+ @classmethod
237+ def get_issuer (cls , request ):
239238 """
240239 Gets the Issuer of the Logout Request Message
241240 :param request: Logout Request Message
@@ -251,8 +250,8 @@ def get_issuer(request):
251250 issuer = OneLogin_Saml2_XML .element_text (issuer_nodes [0 ])
252251 return issuer
253252
254- @staticmethod
255- def get_session_indexes (request ):
253+ @classmethod
254+ def get_session_indexes (cls , request ):
256255 """
257256 Gets the SessionIndexes from the Logout Request
258257 :param request: Logout Request Message
@@ -359,3 +358,9 @@ def get_error(self):
359358 After executing a validation process, if it fails this method returns the cause
360359 """
361360 return self .__error
361+
362+ def _generate_request_id (self ):
363+ """
364+ Generate an unique logout request ID.
365+ """
366+ return OneLogin_Saml2_Utils .generate_unique_id ()
0 commit comments